You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过GitHub API获取特定Release Tag关联的Pull Request列表?

当然可以获取到特定Release Tag关联的Pull Request列表!我之前也踩过这个坑,GitHub的REST API确实没把这个关联直接放在Commit接口的返回里,但有两个实用的方法能搞定:

方法1:用GitHub GraphQL API(更高效)

GraphQL的优势就是能一次性关联多个资源,不用多次调用接口。比如你要查询目标仓库某个Tag对应的PR,就可以用这样的查询:

query {
  repository(owner: "你的仓库所有者", name: "你的仓库名称") {
    tag(name: "你要查询的Tag名称") {
      target {
        ... on Commit {
          associatedPullRequests(first: 100) {
            nodes {
              number
              title
            }
          }
        }
      }
    }
  }
}

你只需要替换掉owner、name和tag(name)里的对应值,还可以调整first参数控制返回数量,要是只需要PR编号,保留number字段就行。

方法2:REST API组合调用

如果更习惯用REST接口,可以分两步操作:

  • 第一步:获取Tag对应的Commit哈希。调用GET /repos/{owner}/{repo}/git/refs/tags/{tag_name},返回结果里的object.sha就是这个Tag指向的Commit SHA值。
  • 第二步:查询该Commit关联的PR。调用GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls,这个接口会返回所有包含该Commit的PR。一般来说,Release Tag对应的Commit都是合并后的最终提交,所以返回的PR就是和这个Tag关联的那些。
为啥直接查Commit看不到PR?

你之前用Commit API没找到PR信息,是因为REST的GET /repos/{owner}/{repo}/commits/{commit_sha}接口默认不会返回PR关联数据,必须调用专门的/pulls子接口,或者用GraphQL一次性拉取关联信息才行。

内容的提问来源于stack exchange,提问作者Kenny Lindahl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:32:29