powershell 通过REST API更新任务组时出现InvalidRequestException

icomxhvb  于 2022-12-18  发布在  Shell
关注(0)|答案(1)|浏览(137)

我正在尝试使用REST API更新本地Azure DevOps 2020服务器上的任务组,但收到500 InternalServerError

{"$id":"1","innerException":null,"message":"Input TaskGroup parameter cannot be null.","typeName":"Microsoft.TeamFoundation.DistributedTask.Server.Ex
ceptions.InvalidRequestException, Microsoft.TeamFoundation.DistributedTask.Server","typeKey":"InvalidRequestException","errorCode":0,"eventId":3000}

目标是设置visibleRule,这在Web界面上是不可能的。

$url = "http://{server}:8080/tfs/{organization}/{project}/_apis/distributedtask/taskgroups?api-version=6.1-preview.1"
$taskGroups = Invoke-RestMethod -Method Get -Uri $url -ContentType 'application/json' -UseDefaultCredentials

$taskGroup = $taskGroups.value | where { $_.name -eq "Deploy Task" }
$input = $taskGroup.inputs | where { $_.name -eq "VersionInternal" }
Add-Member -InputObject $input -MemberType NoteProperty -Name "visibleRule" -Value "1 = 2"

$json = $taskGroup | ConvertTo-Json -Depth 100
$response = Invoke-RestMethod -Method PUT -Uri $url -ContentType 'application/json' -Body $json -UseDefaultCredentials

请求有什么问题?是否有可用的日志文件?或者是否有其他方法来排除故障?

4jb9z9bj

4jb9z9bj1#

根据我们之前讨论的内容,您的服务器或计算机上可能存在某些限制PowerShell更新任务组的因素。
无论如何,Postman可以像预期的那样工作得很好。因此,解决方案是使用Postman调用REST API来更新任务组。

相关问题