使用 GitHub API 来确定最后一次提交到 master 是否是合并拉取请求的结果?

Using GitHub API to determine if the last commit to master was a result of a merged pull request?

我们使用 GitHub 流作为分支策略,这意味着 master 中的任何内容都是合并拉取请求的结果。通过执行以下操作获得最后一次提交是微不足道的。

GET https://api.github.com/repos/:org/:repo/git/refs/heads/master

然而,计算出导致此提交的拉取请求似乎并非易事。

是否可以通过 API 找到创建此提交的拉取请求?

PR 应该是 master 中提交的父项之一(第二个),因为该提交是 PR 合并的结果。

您可以通过 GitHub commit API

找到该父级
GET /repos/:owner/:repo/git/commits/:sha

GitHub doesn't offer a way to get the branch from a commit, but you could list all the PR 并将上面找到的 SHA1 与上述 PR 进行交叉引用。