You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过Azure DevOps API添加必填审阅者时出现无效参数错误

Azure DevOps API添加必填审阅者报错「A valid reviewer must be supplied」的解决方法

问题场景

我能在Azure DevOps拉取请求(PR)界面手动添加自己作为必填审阅者,但通过API执行该操作时触发以下错误:

{"$id":"1","innerException":null,"message":"Invalid argument value.\r\nParameter name: A valid reviewer must be supplied.","typeName":"Microsoft.TeamFoundation.SourceControl.WebServer.InvalidArgumentValueException, Microsoft.TeamFoundation.SourceControl.WebServer","typeKey":"InvalidArgumentValueException","errorCode":0,"eventId":0}

已尝试过的审阅者ID类型均无效:

  • 邮箱地址 user@domain.com
  • Entra ID用户对象ID
  • 从PR reviewers查询接口获取的ID
  • Teams「Get Team Members With Extended Properties」接口返回的ID

解决步骤

1. 严格匹配API请求格式

Azure DevOps添加PR审阅者的API(POST https://dev.azure.com/{org}/{proj}/_apis/git/repositories/{repoId}/pullRequests/{prId}/reviewers?api-version=7.1-preview.1)要求请求体必须包含Azure DevOps内部用户ID和isRequired字段,示例格式如下:

[
  {
    "id": "你的Azure DevOps专属用户ID",
    "isRequired": true
  }
]

2. 获取正确的Azure DevOps用户ID

不要使用外部系统ID,直接从Azure DevOps自身渠道获取:

  • 调用身份查询接口:GET https://dev.azure.com/{org}/_apis/identity/identities?api-version=7.1-preview.1,通过filter参数(比如邮箱)过滤自己的信息,返回结果里的id字段就是有效ID。
  • 查看个人资料:在Azure DevOps个人资料页面,地址栏中_usersDetails/后的字符串即为你的用户ID。

3. 检查API权限和身份验证

确保调用API的凭据(PAT令牌或OAuth令牌)拥有项目贡献者或更高权限,且令牌已勾选Code权限范围。

4. 区分用户ID与团队/组ID

如果误将团队ID或组ID当作用户ID传入,会直接触发该错误。确认传入的id是单个用户的专属ID,而非团队或组的标识。

5. 验证请求头设置

必须在请求头中添加Content-Type: application/json,否则API无法正确解析请求体内容。

内容的提问来源于stack exchange,提问作者Vir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 08:30:58