我正在使用Jenkins在我的服务器上运行测试。
所以我为每个服务器创建了一个作业,并在作业上运行测试,如果我的特定作业被禁用/启用,我想知道简单的bash脚本?
我可以ssh到Jenkins服务器,我想从那里运行该脚本我该怎么做?
答案 0 :(得分:2)
请参阅http://<Your Jenkins>/api
和http://<Your Jenkins>/api/xml
:
<hudson>
...
<job>
<name>...your job name...</name>
...
<color>disabled</color>
</job>
...
有关工作的说明,请参阅http://<Your Jenkins>/job/<Your job's name>/api
和http://<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
}