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

如何通过API或CLI获取GitHub Issues的Tracked By关联关系?

如何通过API/CLI查找被特定Issue标记为“Tracked by”的关联Issue?

GitHub通过任务列表创建的“Tracked In”关联属于Issue内容内的结构化引用,不属于linked:<ISSUE-NUMBER>搜索语法覆盖的标准关联范畴,所以直接用搜索是查不到的。目前可行的方法只有以下两种:

1. 使用GitHub GraphQL API 查询

这是最可靠的方式,GraphQL API直接暴露了Issue任务列表项的引用数据。你可以通过查询目标Issue的taskItems字段,获取所有被标记为“Tracked by”的关联Issue/PR。

示例查询(替换其中的OWNER、REPO和ISSUE_NUMBER为实际值):

query {
  repository(owner: "OWNER", name: "REPO") {
    issue(number: ISSUE_NUMBER) {
      taskItems(first: 100) {
        nodes {
          state
          content
          referenced {
            ... on Issue {
              number
              title
              url
            }
            ... on PullRequest {
              number
              title
              url
            }
          }
        }
      }
    }
  }
}

返回结果里的referenced字段会直接关联到对应的Issue或PR,这些就是被当前Issue追踪的项。

2. 借助GitHub CLI(gh)实现命令行查询

如果你习惯用命令行,可以结合gh工具调用GraphQL API,快速提取关联数据。示例命令:

gh api graphql -f query='
  query {
    repository(owner: "OWNER", name: "REPO") {
      issue(number: ISSUE_NUMBER) {
        taskItems(first: 100) {
          nodes {
            referenced {
              ... on Issue {
                number
                title
              }
              ... on PullRequest {
                number
                title
              }
            }
          }
        }
      }
    }
  }
' --jq '.data.repository.issue.taskItems.nodes[] | select(.referenced != null) | .referenced'

这条命令会过滤掉无引用的任务项,只输出有“Tracked by”关联的Issue/PR编号和标题。

需要注意的是,GitHub的REST API和普通搜索功能目前都不支持直接检索这种任务列表关联,只能通过GraphQL API来获取这些数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 12:35:05