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

如何使用GitHub API无需遍历项目卡片即可获取关联指定issue的卡片ID

通过Issue编号获取关联项目卡片ID的最优实现方案

方案1:REST API 直接拉取Issue关联信息

调用Issue详情接口 GET /repos/{owner}/{repo}/issues/{issue_number},返回体自带project_items数组:

  • 数组内每个元素对应该Issue绑定的一张项目卡片,可直接获取id字段作为操作所需的卡片ID
  • 若单Issue绑定了多项目的卡片,可通过project字段下的项目ID筛选目标项目对应的卡片即可
  • 无需遍历任何项目栏目下的卡片,仅需1次请求即可拿到结果,是当前最简洁的实现方式

方案2:GraphQL API 精简查询

如果需要压缩返回数据量、提升请求效率,可使用GraphQL接口构造定向查询,请求示例:

query($owner: String!, $repo: String!, $issueNum: Int!) {
  repository(owner: $owner, name: $repo) {
    issue(number: $issueNum) {
      projectItems(first: 10) {
        nodes {
          id
          project { id title }
          column { id name }
        }
      }
    }
  }
}

返回结果仅包含你指定的字段,没有冗余信息,适合批量操作的场景。

原有遍历方案的优化建议

如果你的使用场景限制无法访问仓库Issue级别的接口,只能使用项目维度接口,可以对原有遍历方案做以下优化:

  • 调用GET /projects/columns/{column_id}/cards时增加content_type=Issue参数,过滤掉非Issue类型的卡片,减少遍历数据量
  • 优先遍历Issue当前所在的栏目,无需遍历项目下所有栏目,降低请求次数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 05:45:04