我知道,有一种方法可以使用命令启用或禁用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变量。
有办法吗?
答案 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>