通过API [BuildCity]将构建配置附加到模板

时间:2017-07-04 16:15:02

标签: powershell automation teamcity webclient teamcity-10

我尝试将构建配置附加到模板。我们正在运行TeamCity 10.0.2,使用PowerShell 4.0进行交互。

根据TeamCity 10 API documentation,可以将构建附件附加到模板操作:

  

从/向模板读取,分离和附加构建配置:   GET /删除/ PUT   http://teamcity:8111/app/rest/buildTypes/ /模板   (PUT接受带有" text / plain" Content-Type)的模板定位器

因此,我尝试将build12版本配置附加到template12模板,我执行此操作的代码如下:

$webclient             = New-Object System.Net.WebClient
$creds                 = New-Object System.Net.NetworkCredential("user1","pass1")
$webclient.Credentials = $creds
$webclient.headers.Add("Content-Type", "text/plain") 
$webclient.UploadString("http://teamcity:8111/httpAuth/app/rest/buildTypes/build12/template", "PUT", "TemplateId")

但我一直收到以下错误:

Exception calling "UploadString" with "3" argument(s): "The remote server returned an error: (400) Bad Request."

是否有人能够通过API将构建配置附加到模板?

1 个答案:

答案 0 :(得分:0)

我看到你使用的是PowerShell,但你正在放弃C#WebClient类来完成它。不要那样做:)

Invoke-RestMethod http://teamcity/httpAuth/app/rest/buildTypes/YourBuildId/template -Credential $credential -Method Put -Headers @{"Content-Type"="text/plain"} -Body Your_Template

这会将模板Your_Template附加到名为YourBuildId

的构建中

如果您需要有关-Credentials param或其他任何内容的帮助,请与我们联系。

我实际上已经使用上面的工作......