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

如何通过Jenkins API查询指定Job的队列任务数量?

查询Jenkins特定Job的队列任务数量的API方法

Jenkins 提供了多种API方式来查询特定Job的队列任务数量,以下是几种实用方案:

1. 队列全局API+过滤

通过Jenkins的全局队列API获取所有排队任务,再过滤出目标Job的条目:

  • 请求地址:GET /queue/api/json
  • 可通过tree参数精简返回数据,减少传输量,示例:
    GET /queue/api/json?tree=items[id,task[name]]
    
  • 解析返回的JSON数据,遍历items数组,统计其中task.name与你的Job名称匹配的条目数量,即为该Job的排队任务数。

2. Job专属队列API

部分Jenkins版本支持直接针对单个Job查询其排队任务:

  • 请求地址:GET /job/{JOB_NAME}/queueItem/api/json
  • 若该Job有排队任务,返回的JSON是包含对应条目的数组,数组长度就是排队数量;若无排队任务,则返回空数组。

3. Groovy脚本查询

如果具备Jenkins脚本执行权限,可通过Groovy脚本直接获取:

def targetJobName = "你的Job名称"
def queue = Jenkins.instance.queue
def pendingCount = queue.items.count { it.task.name == targetJobName }
println("目标Job的排队任务数量:${pendingCount}")

可以在Jenkins脚本控制台执行这段代码,也可在Pipeline中调用(需确保有对应权限)。

注意事项

  • 调用API时需确保拥有Read权限,若Jenkins开启了权限验证,需携带认证信息(如API Token)。
  • 不同Jenkins版本的API细节可能略有差异,建议在你的实例上先测试端点可用性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 09:35:03