首页 > 解决方案 > Azure DevOps Api 抛出错误:如何交换批准者?

问题描述

我有一个带有 PowerShell 代码的 Azure Pipeline,它可以为不同的部署阶段动态交换审批者。审批人通过API进行交换。该代码运行了几次,但不知何故它在我没有进行任何更改的情况下中断了。现在,我收到错误:

Invoke-RestMethod: 
{
  "$id":"1",
  "innerException":null,
  "message":"VS402865: An empty body in the POST request is not allowed.",
  "typeName":"Microsoft.VisualStudio.Services.ReleaseManagement.Data.Exceptions.InvalidRequestException,Microsoft.VisualStudio.Services.ReleaseManagement2.Data",
  "typeKey":"InvalidRequestException",
  "errorCode":0,
  "eventId":3000
}

有没有其他人收到同样的错误?是 Azure DevOps 问题吗?

标签: powershellazure-devops

解决方案


根据该端点的文档https://docs.microsoft.com/en-us/rest/api/azure/devops/release/releases/get-release?view=azure-devops-rest-6.0,该端点接受GET请求。错误消息表明您正在发出POST.

再看看你使用的命令行Invoke-WebRequest。我知道您提到没有更改代码,但绝对值得检查。如果这不能解决问题,我会转储您发出的标头和 URL 值,Write-Host并检查构建输出中的结果。


推荐阅读