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

如何使用GitHub GraphQL API筛选查询Projects Beta中符合特定字段值的议题

GitHub Projects Beta GraphQL API: 按字段筛选议题的解决方案

你提到的这个问题确实是GitHub Projects Beta API目前的一个限制——原生的projectV2Items查询暂时不支持直接按自定义字段值筛选,不过我们有两种可行的办法来实现你的需求:

1. 客户端侧筛选(最可靠的自定义字段筛选方案)

先获取项目中所有关联的议题及其字段值,然后在你的代码里过滤出符合条件的项。这是目前处理自定义字段筛选的通用方法,因为API还没提供原生支持。

举个GraphQL查询的例子,用来获取项目的议题及对应的字段值:

query GetProjectIssuesWithFields($projectId: ID!) {
  projectV2(id: $projectId) {
    title
    items(first: 100) {
      nodes {
        id
        fieldValues(first: 10) {
          nodes {
            ... on ProjectV2ItemFieldSingleSelectValue {
              name
              field {
                ... on ProjectV2Field {
                  name
                }
              }
            }
            ... on ProjectV2ItemFieldTextValue {
              text
              field {
                ... on ProjectV2Field {
                  name
                }
              }
            }
            # 根据你使用的字段类型,添加对应的片段
          }
        }
        node {
          ... on Issue {
            id
            title
            number
          }
        }
      }
    }
  }
}

拿到返回结果后,你可以遍历每个项目项,检查fieldValues里的字段名称和值是否匹配你的需求(比如筛选"状态"字段为"待处理"的议题)。

2. 结合GitHub搜索API(适用于议题原生属性+项目筛选)

如果你的筛选条件是议题本身的属性(比如标签、状态、作者),可以结合GitHub的搜索功能,通过project-id参数限定搜索范围在目标项目内。

比如用GraphQL的search查询,筛选某个项目中带有特定标签的议题:

query SearchIssuesInProject($query: String!) {
  search(query: $query, type: ISSUE, first: 100) {
    nodes {
      ... on Issue {
        id
        title
        number
        projectItems(first: 10) {
          nodes {
            project {
              ... on ProjectV2 {
                id
                title
              }
            }
          }
        }
      }
    }
  }
}

你可以把$query变量设为类似project-id:YOUR_PROJECT_ID label:bug is:open这样的字符串,就能得到该项目中符合条件的议题。不过要注意,这种方法不支持自定义字段的筛选,只能用GitHub搜索语法支持的参数。

关于API支持的说明

截至目前,GitHub官方还没有在Projects Beta的GraphQL API中添加按自定义字段值筛选projectV2Items的参数,这个需求在开发者社区里也有不少反馈,后续可能会更新支持。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.01 02:27:30