能否通过REST API以其他用户身份在Azure DevOps工作项添加评论?
可行方案说明
1. 使用个人访问令牌(PAT)
让每个Azure DevOps用户生成专属的PAT,权限需勾选工作项(读写)。第三方服务调用API时,切换不同用户的PAT作为认证凭据:
- 请求地址:
POST https://dev.azure.com/{组织名}/{项目名}/_apis/wit/workitems/{工作项ID}/comments?api-version=7.1-preview.3 - 认证请求头:
Authorization: Basic {base64编码的":{PAT}"字符串} - 请求体示例:
{ "text": "这是当前用户的评论内容" }
调用时使用哪个用户的PAT,评论就会以该用户身份显示。
2. 使用Azure AD服务主体+用户委托
适合企业级批量切换用户的场景,无需用户手动生成PAT:
- 先注册Azure AD应用,添加Azure DevOps Graph和Work Item的委托权限
- 服务主体通过OAuth2.0授权码流,获取特定用户的访问令牌
- 调用API时,将该用户的访问令牌放入请求头:
Authorization: Bearer {用户访问令牌}
3. 使用ADO OAuth2.0用户授权
第三方应用引导用户完成Azure DevOps授权流程,获取用户级别的访问令牌,后续用该令牌调用API添加评论,评论会显示为授权用户的身份。
注意:所有方式都需要确保调用者拥有目标工作项的评论添加权限,否则API会返回权限错误。
内容的提问来源于stack exchange,提问作者Kausik Sharma
相关产品推荐
相关产品推荐

