【发布时间】:2023-03-25 08:10:01
【问题描述】:
是否可以通过 REST API 取消当前正在运行的构建?
我有一个集成,它获取当前正在运行的构建,如果它们失败,我想终止给定类型的构建。我知道如何列出给定类型的失败构建,然后如何传递停止命令?
【问题讨论】:
是否可以通过 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,但如果您查看 here(在评论部分的底部),有一个“未记录”的功能可以让您通过 HTTP 进行操作。
【讨论】:
不完全是您正在寻找的 REST 调用,但您可以简单地执行 HTTP POST 到:
http://teamcity.my.org/viewLog.html?buildTypeId=bt278&buildId=1352480#
地点:
buildTypeId 是您项目的 id
buildId 是要停止的内部版本号
显然,您只能在构建运行时执行此操作。
【讨论】: