我試圖通過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簡單更新(沒有任何修改)的構建定義?