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

如何通过GitHub API获取不含指定标签的Issues?

GitHub API 查询不含指定标签Issues的实现方案

GitHub 原生仓库Issues接口的labels参数仅支持正向匹配指定标签,没有提供直接排除标签的查询参数,可通过以下两种方案实现需求:

方案1:拉取全量Issues后本地过滤

该方案稳定性高、受API速率限制影响小,适合Issues总量较大的仓库:

  • 第一步:不带labels参数拉取仓库下所有Issues,请求时设置per_page=100(单页最大返回条数),遍历处理分页拿到全量数据,基础请求示例:
curl -H "Accept: application/vnd.github.v3+json" \
-H "Authorization: token <TOKEN>" \
"https://api.github.com/repos/OWNER/REPO/issues?per_page=100&state=open"

可根据需求调整state参数筛选issue状态:open为未关闭、closed为已关闭、all为全部状态

  • 第二步:本地遍历返回的每条Issue数据,检查其labels数组字段,剔除包含待排除标签的条目,剩余内容即为符合要求的结果。

方案2:使用搜索API的标签排除语法

该方案无需本地二次过滤,适合数据量较小的场景:
GitHub 搜索Issues接口支持通过搜索语法直接排除指定标签,在查询参数q中使用-label:<待排除标签名>即可实现反向过滤,请求示例:

curl -H "Accept: application/vnd.github.v3+json" \
-H "Authorization: token <TOKEN>" \
"https://api.github.com/search/issues?q=repo:OWNER/REPO+-label:exclude_target_label+is:issue"

使用注意

  • 支持同时排除多个标签,只需在q参数中追加多个-label:标签名规则即可,例如-label:bug -label:wontfix表示同时排除带bug、wontfix标签的Issues
  • 搜索API速率限制更严格,认证状态下单分钟最多可发起30次请求,调用时需注意控制频率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 17:33:45