如何获取Jenkins多分支项目的启用/禁用状态?
多分支流水线启用/禁用状态查询方案
多分支项目的全局禁用状态不会同步到单个分支的buildable字段,可通过以下两种方式准确查询全局开关状态:
方法1:单项目精准查询
你之前用到的/job/my-project/api/json接口本身就包含状态字段,只需增加过滤参数即可直接获取:
- 调用接口:
https://my.jenkins.net/job/my-project/api/json?tree=disabled - 结果判断规则:
- 返回
disabled: true:项目处于禁用状态 - 返回
disabled: false:项目处于启用状态
- 返回
提示:加
tree=disabled参数可以过滤冗余返回内容,直接拿到目标字段,无需解析全量返回数据。
方法2:批量多项目查询
如果需要同时查询多个多分支项目的状态,可调用根级API时指定返回字段,就能同时获取disabled和color状态字段:
- 调用接口:
https://my.jenkins.net/api/json?tree=jobs[name,url,disabled,color] - 接口会返回所有Jenkins任务的基础信息,你可以通过项目名称或URL匹配到对应多分支项目,直接读取
disabled字段即可。
补充说明
你之前查询单分支接口返回buildable为true是正常表现:多分支项目的全局禁用仅会拦截新的构建触发请求,并不会修改下属单个分支任务本身的可构建属性,因此单分支的buildable字段不会随全局开关状态变化。
内容的提问来源于stack exchange,提问作者user2668735
相关产品推荐
相关产品推荐

