我正在尝试使用提供Rest API documentation更新发布管道的说明。
我应该如何发送“放置”请求以更新字段?
我尝试使用嗅探器手动修改和捕获请求,看来我的代码完全一样。
$theBody = ConvertTo-Json @{description='Added a description'}
$instance = "tfs:8080"
$collection = "Collection"
$project = "myProject"
$releaseID = 1234
$apiVersion = "?api-version=4.1-preview.6"
$URI = "http://"+$instance+"/"+$collection+"/"+$project+"/_apis/release/releases/"+$releaseID+$apiVersion
$res= Invoke-RestMethod -Method Put -Uri $URI -UseDefaultCredentials -Body $theBody -ContentType 'application/json'
write-output $res
我收到一条错误消息:
发行版ID与原始发行版ID不匹配 资源。确保您尝试更新正确的资源
答案 0 :(得分:2)
最好的方法是使用相同的URL,但使用Get
方法(而不是正文)来发布:
$release = Invoke-RestMethod -Method Get-Uri $URI -UseDefaultCredentials -ContentType 'application/json'
然后修改说明:
$release.description = "Added a description"
将发行版转换为JSON:
$theBody = $release | ConvertTo-Json -Depth 10
然后执行Put
:
$res = Invoke-RestMethod -Method Put -Uri $URI -UseDefaultCredentials -Body $theBody -ContentType 'application/json'