使用curl获取Jenkins的工作状态

时间:2017-04-05 09:50:00

标签: bash curl jenkins

我知道,有一种方法可以使用命令启用或禁用jenkins作业

curl -u user:password -X POST http://server/job/jobname/enable
curl -u user:password -X POST http://server/job/jobname/disable

但我需要的是获得工作状态"启用/禁用"并将其写入bash $ status变量。

有办法吗?

1 个答案:

答案 0 :(得分:1)

您可以使用API​​

检查是否启用了作业
http://server:port/job/jobname/api/xml?xpath=*/buildable

所以,使用crumb,你可以使用这样的东西:

CRUMB=$(curl -s 'http://USER:PASSWORD@SERVER:PORT/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)')

myStatus=$(curl -X POST -H "$CRUMB" "http://USER:PASSWORD@SERVER:PORT/job/jobname/api/xml?xpath=*/buildable")

在变量myStatus中,你得到了

<buildable>true</buildable>

<buildable>false</buildable>