我试图通过REST API使用PowerShell更新构建定义。TFS2015 REST API构建定义更新
使用的脚本是:
$url = "http://tfs:8080/tfs/collection/project/_apis/build/definitions/$($buildId)?api-version=2.0"
$obj = Invoke-RestMethod -Uri $url2 -Method Get -ContentType "application/json" -UseDefaultCredentials
$json = ConvertTo-Json $obj
Invoke-RestMethod -Uri $url -Method Put -Body $json -ContentType "application/json" -UseDefaultCredentials
我第一次与一个新的空定义试过,我已经得到了以下错误:
The collection must contain at least one element.Parameter name: definition.Options.Inputs
所以我增加了一个额外的代码删除返回的json中的“选项”部分:
if($obj.options -ne $null){
$obj.options = $null }
并且更新正常工作。但是,当我使用一个“真实”的现有构建定义是生产中的代码,然后我得到另一个错误:
The collection must contain at least one element. Parameter name: definition.RetentionRules.Rule.Branches.Filter
我使用TFS2015更新3
为什么不工作一通过REST API简单更新(没有任何修改)的构建定义?