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

时间:2016-06-01 14:23:24

标签: jenkins jenkins-cli jenkins-api

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

所以我为每个服务器创建了一个作业,并在作业上运行测试,如果我的特定作业被禁用/启用,我想知道简单的bash脚本?

我可以ssh到Jenkins服务器,我想从那里运行该脚本我该怎么做?

4 个答案:

答案 0 :(得分:2)

请参阅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

答案 1 :(得分:1)

将jenkins服务器URL放置在浏览器中,并将/ api / xml放置在URL的前面。

示例:

https://xyzjenkins.cloud/view/all/api/xml

要在json中获取结果,只需将json而不是xml放在上述URL中

https://xyzjenkins.cloud/view/all/api/json

答案 2 :(得分:0)

从此字符串中检查项目状态

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

它将以json格式转储作业数据。然后grep for string“buildable”:

这将为您提供是启用还是禁用项目。

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

然后做你想做的事。

答案 3 :(得分:0)

想要添加到现有答案中。 要获得更精确的结果,您可以添加 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
}