如果我运行自定义构建并将其中一个标志设置为true,我正在使用TeamCity构建步骤将某个构建标记为SVN。
然而,在这个构建完成之后,我想自动化TeamCity来固定刚刚创建的自定义构建。这可能吗?我已经阅读了REST API,但我不确定它是否是解决方案。
答案 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事件的插件,如果它具有特定的属性,则将其置于引脚中。