如何使用 Jenkins 服务器检查禁用的作业?

How to check disabled jobs with Jenkins server?

我正在使用 Jenkins 运行 在我的服务器上进行测试。

所以我为每台服务器创建了一个作业,并且我 运行 对作业进行了测试,我想用简单的 bash 脚本知道我的特定作业是否是 disabled/enabled ?

我可以通过 SSH 连接到 Jenkins 服务器,我想从那里 运行 该脚本我该怎么做?

参见 http://<Your Jenkins>/apihttp://<Your Jenkins>/api/xml

<hudson>
  ...
  <job>
    <name>...your job name...</name>
    ...
    <color>disabled</color>
  </job>
  ...

有关职位描述,请参阅 http://<Your Jenkins>/job/<Your job's name>/apihttp://<Your Jenkins>/job/<Your job's name>/api/xml

从此字符串检查项目状态

curl http://$JENKINS_URL/job/$JOB_NAME/api/json | python -mjson.tool

它将以json 格式转储作业数据。然后 grep 字符串 "buildable":

这将告诉您项目是启用还是禁用。

"buildable": true, --> Project enabled
"buildable": false,  --> Project Disabled

那就随心所欲吧

将你的 jenkins 服务器 URL 放入浏览器并将 /api/xml 放在你的 URL 前面。

示例:

https://xyz.jenkins.com/view/all/api/xml

要在 json 中得到结果,只需在上面提到的 URL

中输入 json 而不是 xml
https://xyz.jenkins.com/view/all/api/json

想要添加到现有答案中。 要获得更精确的结果,您可以添加 xpath 过滤器

http://<Your Jenkins>/job/<job name>/api/xml?xpath=//disabled

http://<Your Jenkins>/job/<job name>/api/xml?xpath=//buildable

作为回应,您只会收到一行:

<disabled>true</disabled>

过滤也适用于 json api 输出:

http://<Your Jenkins>/job/<job name>/api/json?tree=disabled&pretty=true

输出:

{
  "_class" : "hudson.model.FreeStyleProject",
  "disabled" : true
}