是否可以通过 REST API 取消当前正在运行的构建?
我有一个集成,它获取当前正在运行的构建,如果它们失败,我想终止给定类型的构建。我知道如何列出给定类型的失败构建,然后如何传递停止命令?
从 TeamCity 8.1 开始,可以使用REST API停止构建:
curl -v -u user:password --request POST "http://localhost:7000/app/rest/buildQueue/<buildLocator>" --data "<buildCancelRequest comment='' readdIntoQueue='true' />" --header "Content-Type: application/xml"
也许不是使用 REST API,但如果你看这里(在评论部分的底部),有一个“未记录”的特性可以让你通过 HTTP 来做。
不完全是您正在寻找的 REST 调用,但您可以简单地执行 HTTP POST 到:
http://teamcity.my.org/viewLog.html?buildTypeId=bt278&buildId=1352480#
在哪里:
buildTypeId 是您项目的 id
buildId 是要停止的内部版本号
显然,您只能在构建运行时执行此操作。