2011-04-25 67 views
8

我需要強制停止在遠程服務器上運行的Hudson版本。有沒有一個命令/ API來做到這一點?HUDSON:如何從命令行阻止hudson作業?

爲前:觸發一個新的版本,我們可以這樣做: - HUDSON_URL /工作/ JOBNAME /建造

尋找類似的API時停止構建。

回答

10

你應該能夠做出HTTP請求

http://HUDSON_URL/job/JOBNAME/BUILDNUMBER/stop

,你可以做一個XPath的請求來獲取內部版本號

http://HUDSON_URL/job/JOBNAME/api/xml?xpath=//lastBuild/number/text()

可能有辦法把最新的BUG或lastBuild代替BUILDNUMBER,但如果沒有,你可以使用2個http獲取。

+4

http:// HUDSON_URL/job/JOBNAME/lastBuild/stop stopped ,,感謝您的回覆 – girishs 2011-04-26 12:32:18

+0

感謝您的回覆! – 2014-07-16 00:40:52

3

從上面的回答(upvoted),@girishs'評論,我自己的一些工作,在Windows環境(Linux的很可能使用wget,而不是curl,沒有測試):

curl --request POST -u <USER>:<PASS> "%JENKINS_URL%/job/%JOB_NAME%/lastBuild/stop" 

...這將停止最近的版本,而不需要任何將來的配置編輯。所有你需要的是你的用戶/傳球組合。

+0

如果您不想將明文密碼放入shell腳本中,則可以用用戶的API令牌代替。仍然不是很好的安全性,但稍好一些。 (來源:https://wiki.jenkins-ci.org/display/JENKINS/Authenticating+scripted+clients) – 2015-01-28 20:23:40