如何通过DevOps REST API获取Activity字段的值?
解决Azure DevOps Work Items Batch API无法获取Activity字段的问题
可能的原因及对应解决方法
1. 确认Activity字段的内部引用名
Azure DevOps的字段需要使用内部引用名而非显示名来获取,Activity字段的内部名可能不是Activity(比如Scrum模板中该字段的内部引用名为Microsoft.VSTS.Common.Activity)。
- 查看内部引用名的方式:
- 进入Azure DevOps门户的组织设置 > 工作 > 字段,搜索Activity字段,查看其“引用名称”;
- 调用单个工作项API验证:
GET https://dev.azure.com/xxx/xxx/_apis/wit/workitems/{id}?api-version=5.1&$expand=Fields,在返回结果中找到Activity对应的字段键。
2. 明确指定要获取的字段
Work Items Batch API即使添加$expand=Fields,也不会默认返回所有字段,需在请求体中通过fields参数明确指定需要的字段(包含Activity的内部引用名)。示例POST请求体:
{ "ids": [123, 456], "fields": ["System.Id", "System.Title", "Microsoft.VSTS.Common.Activity"] }
3. 验证权限与字段可见性
- 确认API调用使用的凭据(PAT或OAuth)拥有读取目标工作项类型的权限;
- 检查Activity字段是否被配置为仅对特定用户组可见,确保你的账号在允许访问的组内。
4. 升级API版本
API 5.1版本较旧,部分字段支持可能不完善,尝试使用较新的版本,比如7.1-preview.3,修改后的请求URL:
https://dev.azure.com/xxx/xxx/_apis/wit/workitemsbatch?api-version=7.1-preview.3&$expand=Fields
内容的提问来源于stack exchange,提问作者Thomas Segato
相关产品推荐
相关产品推荐

