调用Azure DevOps工作项评论API时出现404错误求助
Azure DevOps API添加工作项评论返回404 Not Found(Power Automate场景)
问题描述
我正在基于Azure DevOps(ADO)搭建工单系统,通过Power Automate读取邮件创建工单(ADO工作项)。当前Flow 2环节遇到问题:调用添加评论的ADO API _apis/wit/workitems/17854?api-version=7.0 时,返回404 - Not found。
我的流程情况:
- ✅ Flow1(创建新工单):邮件主题含
[SR]时,在ADO创建工作项并关联附件,所有步骤正常执行。 - ❌ Flow2(为现有工单添加评论):邮件主题含
[SR-XXXXX](XXXXX为工作项ID)时,将邮件正文作为评论添加到对应工作项,调用API时返回404。
已完成的验证:
- 确认目标工作项ID(17854)存在且可在ADO门户正常访问
- 对照WIT评论添加接口v7.0的官方文档检查配置
解决方案排查步骤
1. 修正API端点路径
你当前使用的URL缺少ADO组织和项目前缀,且路径不符合评论接口的规范。正确的完整API路径格式应为:
https://dev.azure.com/{组织名}/{项目名}/_apis/wit/workitems/{工作项ID}/comments?api-version=7.0
注意:添加评论的接口路径是/workitems/{id}/comments,而非直接/workitems/{id}——后者是用于获取/更新工作项本身的接口,不是添加评论的专属端点,这是触发404的常见原因。
2. 验证请求方法与请求体
- 添加评论必须使用POST请求,禁止使用GET/PUT
- 请求体需符合JSON格式,示例结构:
确保Power Automate中已设置正确的请求方法,且请求体无语法错误(比如多余的逗号、未闭合的引号)。{ "text": "这里是转换后的邮件正文评论内容" }
3. 检查权限配置
- 确认Power Automate使用的服务连接账号(或OAuth令牌)拥有目标项目的Contributor及以上角色,具备工作项编辑权限
- 手动用该账号在ADO门户给目标工作项添加评论,验证权限有效性——部分场景下权限不足会伪装成404返回。
4. 排查工作项ID提取逻辑
检查Flow中从邮件主题[SR-XXXXX]提取ID的逻辑,确保提取到的是纯数字(无多余空格、符号)。例如主题为[SR- 17854 ]时,提取后带空格会导致ID无效,触发404。
5. 直接测试API端点
用Postman或curl直接调用完整API路径测试,排除Power Automate配置干扰:
curl -X POST "https://dev.azure.com/{组织名}/{项目名}/_apis/wit/workitems/17854/comments?api-version=7.0" \ -H "Content-Type: application/json" \ -H "Authorization: Basic {Base64编码的PAT令牌}" \ -d '{"text":"测试评论内容"}'
如果直接调用正常,说明问题出在Power Automate的路径拼接、请求体或权限传递环节;如果直接调用也返回404,需再次确认组织名、项目名、工作项ID的正确性。
内容的提问来源于stack exchange,提问作者Praveen Anuraj
相关产品推荐
相关产品推荐

