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

AZ REST调用新增Agent Pool失败,但Postman中可正常执行求助

解决az REST调用Azure DevOps新增Agent Pool失败的建议

核心问题修正:重复的--body参数

你的az命令里重复使用了两次--body参数,az CLI不会合并多个body内容,只会保留最后一个传入的body(也就是{"id":"667"}),这和Postman中把所有参数放在同一个请求体的行为完全不一致,这是导致调用失败的直接原因。

修正后的命令应该将两个body的内容合并为一个完整的JSON对象,只使用一次--body:

az REST --method post --url "https://dev.azure.com/${ORG}/${PROJECT}/_apis/distributedtask/queues?api-version=7.0" --body '{"name":"TEST_AGENT_POOL_22234222", "id":"667"}' --headers "Authorization: Bearer $azureAccessToken" "Content-Type: application/json"

其他排查方向

  • 验证环境变量解析:执行echo ${ORG} ${PROJECT} $azureAccessToken,确认这些环境变量都已正确赋值,没有空值或错误内容。
  • 检查JSON语法:确保合并后的JSON格式合法,比如引号配对、逗号分隔正确,可使用jq . <<< '{"name":"TEST_AGENT_POOL_22234222", "id":"667"}'命令快速验证。
  • 升级az CLI版本:旧版本的az REST可能存在兼容性问题,执行az upgrade升级到最新稳定版后重试。
  • 查看详细错误日志:在命令末尾添加--debug参数,查看实际发送的请求内容和服务端返回的错误详情,对比Postman的请求差异,定位问题:
    az REST --method post --url "https://dev.azure.com/${ORG}/${PROJECT}/_apis/distributedtask/queues?api-version=7.0" --body '{"name":"TEST_AGENT_POOL_22234222", "id":"667"}' --headers "Authorization: Bearer $azureAccessToken" "Content-Type: application/json" --debug
    
  • 确认Token权限:虽然Postman调用成功,但仍需确认$azureAccessToken包含vso.machinegroup_manage等管理Agent Pool的必要权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 01:54:58