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

Azure DevOps API技术问询:如何获取组织内各用户分配的所有工作项

获取Azure DevOps组织内用户分配工作项的API方案

没问题!Azure DevOps确实提供了专门的API来实现你的需求——获取组织内每个用户被分配的所有工作项,完全能支撑你生成高层报告的场景。下面是具体的实现细节和步骤:

1. 核心API:通过WIQL查询工作项

你需要用到Work Items - Query By Wiql API,它支持用WIQL(Work Item Query Language)编写灵活的查询语句,精准筛选分配给特定用户的工作项。

组织级查询端点(覆盖所有项目)

POST https://dev.azure.com/{organization}/_apis/wit/wiql?api-version=7.1-preview.2

如果你只需要查询单个项目,把路径里的{organization}后加上/{project}即可。

关键查询语句示例

在请求体中传入WIQL语句,就能获取目标用户的所有工作项。比如:

SELECT 
  [System.Id], [System.Title], [System.AssignedTo], 
  [System.State], [System.Project], [System.CreatedDate]
FROM WorkItems 
WHERE [System.AssignedTo] = '{user-email-or-id}' 
-- 可选:排除不需要的工作项类型,比如测试用例
AND [System.WorkItemType] NOT IN ('Test Case', 'Shared Parameter')
ORDER BY [System.CreatedDate] DESC
  • {user-email-or-id}可以是用户的邮箱地址,或者Azure DevOps中的用户唯一ID。
  • 你可以根据报告需求,添加更多字段(比如完成时间、优先级等)到SELECT语句中。

请求示例(curl)

curl -X POST "https://dev.azure.com/your-organization/_apis/wit/wiql?api-version=7.1-preview.2" \
-H "Content-Type: application/json" \
-H "Authorization: Basic YOUR_PAT_TOKEN" \
-d '{
    "query": "SELECT [System.Id], [System.Title], [System.AssignedTo], [System.State], [System.Project] FROM WorkItems WHERE [System.AssignedTo] = \"jane.smith@company.com\" ORDER BY [System.CreatedDate] DESC"
}'

注意:YOUR_PAT_TOKEN需要替换成你的个人访问令牌,且该令牌需拥有**Work Items (Read)**权限。

2. 辅助API:获取组织内所有用户列表

如果要遍历组织内所有用户,先调用这个API获取完整的用户清单:

GET https://vssps.dev.azure.com/{organization}/_apis/graph/users?api-version=7.1-preview.1

返回结果会包含每个用户的邮箱、ID等信息,你可以用这些信息逐个调用WIQL API,收集所有用户的工作项数据。

重要注意事项

  • 分页处理:如果某个用户的工作项数量较多,API会返回分页结果,需要通过响应中的continuationToken参数继续请求,直到获取全部数据。
  • 速率限制:Azure DevOps API有调用频率限制,建议批量处理时加入适当的延迟,避免被限流。
  • 权限配置:除了工作项的读权限,获取用户列表的API需要你的PAT拥有**Graph (Read)**权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 16:13:12