如何通过REST API停止Jenkins的构建?

Bar*_*rth 17 api rest jenkins

我在詹金斯有一份工作.我们自己的网站通过REST api触发了这项工作的构建.有时我们想要中止构建.有时,它可能在构建开始之前.在这种情况下,我们有queueItem#而不是build#.

如何通过REST api这样做?

Jif*_*ang 29

如果构建已启动,请执行以下POST操作:

http://<Jenkins_URL>/job/<Job_Name>/<Build_Number>/stop
Run Code Online (Sandbox Code Playgroud)

将停止/取消当前构建.

如果构建尚未开始,则您拥有queueItem,然后POST:

http://<Jenkins_URL>/queue/cancelItem?id=<queueItem>
Run Code Online (Sandbox Code Playgroud)

这假设您的Jenkins服务器尚未受到保护,否则您需要为具有取消权限的用户添加BASIC身份验证.

  • 404是[JENKINS-21311](https://issues.jenkins-ci.org/browse/JENKINS-21311),可以忽略. (5认同)
  • 您必须对所有具有效果的URL进行"POST",包括"停止". (3认同)
  • 并且`token`仅适用于`build`(以及`buildWithParameters`和`poll`).它不能用于任何其他REST API.通常,您应该使用API​​令牌进行"BASIC"身份验证. (2认同)