HUDSON:如何通过命令行停止Hudson任务?

8

我需要强制停止在远程服务器上运行的Hudson构建。是否有命令/API可以实现这一点?

例如:要触发一个新构建,我们可以执行:HUDSON_URL/job/JOBNAME/build

寻找类似的API以停止构建。

2个回答

10

你应该能够向以下 URL 发起 HTTP 请求:

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

你可以发起 XPath 请求来获取构建号:

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

可能有一种方法可以使用 latestBuild 或 lastBuild 来代替 BUILDNUMBER,但如果没有的话,您可以使用两个 HTTP 请求。


谢谢回复! - Dao Lam

3

根据上面的答案(已经被点赞),@girishs的评论以及我自己的一些工作,在Windows环境下(Linux可能可以使用wget代替curl,但我没有测试):

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

...它可以停止最近的构建,无需进行任何未来配置编辑。你只需要使用你的用户名和密码即可。


如果您不想将明文密码放入shell脚本中,可以用用户的API令牌替换<PASS>。虽然安全性仍然不够理想,但稍微好一些。(来源:https://wiki.jenkins-ci.org/display/JENKINS/Authenticating+scripted+clients) - Philip Hanson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接