GitHub webhooks - 如何检测合并事实?

GitHub webhooks - how to detect fact of merge?

我正在开发一个应用程序,它可以检测到特定分支中合并了某些内容并据此采取一些措施。 为了解决我的问题,我需要找到合并到我监控的分支的分支的名称。

假设 GitHub 向我发送 "everything",当 "some-branch" 合并到分支 "Tests" 时,我的脚本必须做出反应。此外,我的脚本必须能够检测合并分支的名称(在本例中 "some-branch")。

到目前为止我找到的唯一解决方案 - 是读取数组 "commits" 中每个提交的 属性 "message" 并解析它。它们非常典型:"Merge branch 'some-branch' into Tests".

有两个问题

你有什么建议,我怎样才能更好地检测合并事实和合并分支的名称?

谢谢!

恐怕由于 git 的协议,这并不总是可行的。

  1. 在快进情况下,不会创建新的 blob,但只有 blob 会传输到 github。

  2. 如果存在合并提交,正如您已经意识到的那样,提交消息可能会被用户覆盖。

我想我们能做的最好的事情就是监控一个分支,并考虑 push 而不是 merge.

只有在 github 上通过 pull request 进行分支合并,您才能检测到事件或关联事物,例如 pull_request_review 事件。

查看合并到Tests分支的命令是git branch --merged Tests