首页 > 解决方案 > 获取每个用户的工作项字段的总统计信息

问题描述

最终目标——本质上,我通过 Azure DevOps 尝试做的是获取团队中每个开发人员完成的全部故事点(这是所有工作项的一个字段),然后获取该数据并将其与每个开发人员的跟踪时间进行比较使用 toggl API 的工作项。

问题- 我似乎找不到任何可以让我通过 Azure DevOps REST API 做到这一点的东西。我实际上找不到任何东西可以让我根据分配的人员等标准获得所有工作项目,然后我可以在剩下的路上携带它。我什至会拿走所有的工作项目,然后我必须自己做所有的过滤和分组。

我正在尝试通过https://github.com/microsoft/azure-devops-node-api使用节点执行此操作,但如果需要,我很乐意在没有客户端库的情况下执行此操作。

这里的任何帮助将不胜感激!

我尝试使用 Azure DevOps REST API 来获取所有工作项,但看不到这样做的方法。

标签: azureazure-devopsdevops

解决方案


您可以使用Azure DevOps Rest API从查询中获取工作项,API 是Wiql - Query By Id

GET https://dev.azure.com/{organization}/{project}/_apis/wit/wiql/{id}?api-version=5.0

为此,您需要查询 ID,因此创建一个返回分配给用户的项目的查询,保存查询,现在您可以在 url 中看到 id:

在此处输入图像描述

获得查询结果后,您可以使用Work Items - Get Work Item Api 迭代工作项并获取工作项详细信息(所有字段值):

GET https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/{id}?api-version=5.0

它是 Rest API,因此您可以使用所需的语言(Java、C#、Node.js、PowerShell 等)进行操作。

PowerShell 的小例子:

$user = ""
$token = "YOUR-PAT-HERE"
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$token)))
$url = "https://dev.azure.com/{organization}/{project}/_apis/wit/wiql/{queryId}?api-version=5.0"
$query = Invoke-RestMethod -Uri $url -Method Get -ContentType application/json -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}
$query.workItems.ForEach({

  $wiUrl = "https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/$($_.id)?api-version=5.0"
  $workItem = Invoke-RestMethod -Uri $wiUrl -Method Get -ContentType application/json -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}

})

推荐阅读