使用参数触发构建

时间:2019-01-30 10:34:12

标签: teamcity

将TC升级到2018年之后 我之前使用参数触发TC构建的脚本不起作用

我们使用的脚本使用以下api:

  

https:// [服务器] /httpAuth/action.html?add2Queue= [内部名称]&name = [参数名称]&value = [参数值]

我正在尝试迁移到restApi 来自(https://confluence.jetbrains.com/display/TCD18/REST+API#RESTAPI-QueuedBuilds):

我尝试过

  

https:// [服务器] / app / rest / buildQueue?locator = buildType:[内部名称],[参数名称]:[参数值]

当前我有2个问题:

  1. 我成功触发了构建-但尚未触发
  2. 文档不清晰,如何使用参数触发构建? 您能否提供有关如何使用参数成功触发构建的建议(也可以是多个)

1 个答案:

答案 0 :(得分:0)

首先,您对TeamCity的文档尚不明确。尊重这个link;

要触发构建,您必须对此网址发出POST请求,并通过正文发送buildType ID。

http://localhost:8111/httpAuth/app/rest/buildQueue 

还可以将配置参数传递到正文中。

用于使用参数建立触发器的XML主体:

<build><buildType id="YourBuildTypeId"/>
<properties><property name="PARAM1" value="VALUE1"/></properties>
</build>

用于使用参数建立触发器的JSON主体:

{
  "buildType": {
  "id": "YourBuildTypeId"
},
  "properties": {
  "property": [
    {
     "name": "PARAM1",
     "value": "VALUE1"
    },
    {
     "name": "PARAM2",
     "value": "VALUE2"
    }
   ]
  }
}

您可以使用以下curl脚本。

curl -X POST \
http://localhost:8111/httpAuth/app/rest/buildQueue \
-H 'Accept: application/json' \
-H 'Content-Type: application/xml' \
-d '<build><buildType id="YourBuildTypeId"/>
<properties><property name="PARAM1" value="VALUE1"/></properties>
</build>'