我想找到与本地分支关联的最新拉取请求,以便我可以动态构建该拉取请求的 URL。我的最终目标是从 bash 脚本构建这样的 url:
https://github.com/organization/repo/pull/871
这个问题是关于如何获取与特定分支关联的拉取请求。我可以从那里拿走它。
我找到了这个,但它返回了项目的所有拉取请求。我想过滤此响应,以便它仅返回与本地当前签出的分支相关的拉取请求:
https://gist.github.com/karlhorky/88b3c8c258796cd3eb97615da36e07be
任何想法都非常感激!
假设您的仓库所有者名称为
name
,本地分支的 remote-tracking 名称为 branch
,您可以向 GitHub API 发出请求:
GET https://api.github.com/repos/$name/$repo/pulls
然后检查返回的 JSON 中的每个对象,检查是否
item["head"]["label"] == "${name}:${branch}"
。如果是,那么您可以将 item["html_url"]
作为结果 - 您甚至不必自己构建它!
在 Repo 中运行以下命令检查所需的分支:
git ls-remote origin 'pull/*/head' | grep -F -f <(git rev-parse HEAD) | awk -F'/' '{print $3}'