2

如果我运行自定义构建并将其中一个标志设置为 true,我将使用 TeamCity 和构建步骤将某个构建标记到 SVN 中。

但是,在此构建完成后,我想自动化 TeamCity 以固定刚刚创建的自定义构建。这可能吗?我已经阅读了有关 REST API 的信息,但我不确定它是否是解决方案。

4

2 回答 2

7

我通过使用 REST API 而不是使用插件来解决这个问题。

通过使用自定义脚本字段创建命令行构建步骤,您可以使用 cURL 有效地固定构建。固定已经运行的构建可能需要进行一些修改。

这个 curl 调用固定构建:

curl -v --request PUT %teamcity.serverUrl%/httpAuth/app/rest/builds/id:%teamcity.build.id%/pin -u "TCuser:TCpass"

此 curl 调用添加/编辑特定构建的标签:

curl -v -H "Content-Type:text/plain" -d "Deliverable" %teamcity.serverUrl%/httpAuth/app/rest/builds/id:%teamcity.build.id%/tags -u "TCuser:TCpass"

此外,您应该确保在构建代理上安装/放置一个 curl 可执行文件,以便您可以将 curl 作为命令行工具调用。

于 2012-10-04T22:16:23.403 回答
1

REST 是不编写 Java 代码的唯一方法。或者您可以编写一个插件来侦听 buildFinished 事件并在它具有特定属性时固定构建。

于 2012-10-02T03:40:18.800 回答