【问题标题】:Stop a TeamCity build via REST call通过 REST 调用停止 TeamCity 构建
【发布时间】:2023-03-25 08:10:01
【问题描述】:

是否可以通过 REST API 取消当前正在运行的构建?

我有一个集成,它获取当前正在运行的构建,如果它们失败,我想终止给定类型的构建。我知道如何列出给定类型的失败构建,然后如何传递停止命令?

【问题讨论】:

    标签: rest teamcity


    【解决方案1】:

    从 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"
    

    【讨论】:

    【解决方案2】:

    也许不使用 REST API,但如果您查看 here(在评论部分的底部),有一个“未记录”的功能可以让您通过 HTTP 进行操作。

    【讨论】:

      【解决方案3】:

      不完全是您正在寻找的 REST 调用,但您可以简单地执行 HTTP POST 到:

      http://teamcity.my.org/viewLog.html?buildTypeId=bt278&buildId=1352480#

      地点:

      • buildTypeId 是您项目的 id

      • buildId 是要停止的内部版本号

      显然,您只能在构建运行时执行此操作。

      【讨论】: