是否可以在“运行自定义构建”上自动化TeamCity Pin功能

时间:2012-10-01 22:17:32

标签: teamcity

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

然而,在这个构建完成之后,我想自动化TeamCity来固定刚刚创建的自定义构建。这可能吗?我已经阅读了REST API,但我不确定它是否是解决方案。

2 个答案:

答案 0 :(得分:7)

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

通过使用“自定义脚本”字段创建命令行构建步骤,您可以使用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作为命令行工具调用。

答案 1 :(得分:1)

REST是没有编写java代码的唯一方法。或者您可以编写一个侦听buildFinished事件的插件,如果它具有特定的属性,则将其置于引脚中。