微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 Github 部署状态 webhook 获取相应的 PR

如何解决从 Github 部署状态 webhook 获取相应的 PR

我正在创建一个用于侦听 deployment_status.created 网络钩子事件的 Github 应用。当 PR 自动部署时(使用第 3 方 Github 应用程序)会触发 webhook。

当部署具有某种状态时,例如成功了,想给对应的PR加个评论

我的示例代码

app.on('deployment_status.created',async (context) => {
    const deployment_status = context.payload.deployment_status

    if (deployment_status.state === 'success') {
      // Todo: comment on the corresponding PR
    }
  })

如何获得相应的PR?

注意。负载中似乎没有任何内容 (https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#deployment_status)

解决方法

正如您所指出的,似乎 deployment_status 负载未提供拉取请求 URL 或 id,因此您可以直接发表评论。

我认为它可用的是有效负载中的 refshahttps://github.com/octokit/webhooks/blob/6a8fec1a9e76780bba12b75291be104a1697d300/schema.d.ts#L1774-L1775

你可以列出 PR 的关联我认为:https://docs.github.com/en/rest/reference/repos#list-pull-requests-associated-with-a-commit

我仍然不知道这是否是最好的解决方案。

我邀请您在 https://github.com/octokit/rest.js/discussions/categories/q-a 中发布此问题(并寻找潜在的现有问题),我认为您会在那里获得更快的反馈。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。