如何使用 GitHub API 确定提交属于哪个 Pull Request?
How can I determine which Pull Request a commit belongs to using the GitHub API?
给定一个提交 SHA,我想使用 GitHub API 来确定它属于哪个拉取请求。
GitHub 在 commit page:
上显示此信息
此信息不在该提交的 API 响应中,但是:
curl --silent 'https://api.github.com/repos/hammerlab/pileup.js/commits/ee49f07dba3821109b3cf45404446f434a897558' | grep 328
(nothing)
是否可以使用 GitHub API 获取此信息?我意识到我可以为 repo 抓取所有最近的 PR,但这似乎效率低下。
对于上下文:我想从 Travis-CI "push" 作业中执行此操作,我可以在其中访问 SHA,但没有关于它是否是拉取请求的一部分的任何信息.
可以,使用Search API,支持这个功能:
https://help.github.com/articles/searching-issues/#search-by-the-commit-shas-within-a-pull-request
例如:
https://api.github.com/search/issues?q=ee49f07dba3821109b3cf45404446f434a897558
returns 一个结果,就是这个 pull request:
https://api.github.com/repos/hammerlab/pileup.js/issues/328
似乎可以在 API v.3 中使用此新功能:
https://developer.github.com/v3/repos/commits/#list-pull-requests-associated-with-a-commit
此 URL 现在重定向到:
https://docs.github.com/en/rest/reference/repos#list-pull-requests-associated-with-a-commit
这是语法:
GET /repos/:owner/:repo/commits/:commit_sha/pulls
给定一个提交 SHA,我想使用 GitHub API 来确定它属于哪个拉取请求。
GitHub 在 commit page:
上显示此信息此信息不在该提交的 API 响应中,但是:
curl --silent 'https://api.github.com/repos/hammerlab/pileup.js/commits/ee49f07dba3821109b3cf45404446f434a897558' | grep 328
(nothing)
是否可以使用 GitHub API 获取此信息?我意识到我可以为 repo 抓取所有最近的 PR,但这似乎效率低下。
对于上下文:我想从 Travis-CI "push" 作业中执行此操作,我可以在其中访问 SHA,但没有关于它是否是拉取请求的一部分的任何信息.
可以,使用Search API,支持这个功能:
https://help.github.com/articles/searching-issues/#search-by-the-commit-shas-within-a-pull-request
例如:
https://api.github.com/search/issues?q=ee49f07dba3821109b3cf45404446f434a897558
returns 一个结果,就是这个 pull request:
https://api.github.com/repos/hammerlab/pileup.js/issues/328
似乎可以在 API v.3 中使用此新功能:
https://developer.github.com/v3/repos/commits/#list-pull-requests-associated-with-a-commit
此 URL 现在重定向到:
https://docs.github.com/en/rest/reference/repos#list-pull-requests-associated-with-a-commit
这是语法:
GET /repos/:owner/:repo/commits/:commit_sha/pulls