怎样通过Azure DevOps API找到给定看板列中的所有工作项?

3

我正在构建一个从我们的Azure DevOps面板获取信息的应用程序。其中之一的任务是获取给定列中存在的所有票证。

我已经花费了相当多的时间阅读他们的文档,但所有的方法都依赖于您传递要获取回来的IDS,而我正在寻找的是API告诉我在给定列中存在哪些工作项。

1个回答

5
在面板列中查找工作项的最简单方法是使用Wiql - Query by Wiql API。使用方式与您使用UI查询功能查找工作项非常相似。
考虑到某些工作项处于此类型的面板状态(使用基本模板):

enter image description here

以下是PowerShell的示例:
$AzureDevOpsAuthenicationHeader = @{Authorization = 'Basic ' + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($AzureDevOpsPAT)")) }

$uri = "https://dev.azure.com/{organization}/{project}/{team}/_apis/wit/wiql?api-version=6.0"

$body = @{
  "query" = "Select [System.Id], [System.Title], [System.State] From WorkItems Where [System.BoardColumn] = 'Doing'"
} | ConvertTo-Json -Depth 10

Invoke-RestMethod -Method Post -Uri $uri -Headers $AzureDevOpsAuthenicationHeader -Body $body -ContentType 'application/json' |
    Select-Object -ExpandProperty workItems

返回:
id url                                                                                     
-- ---                                                                                     
26 https://dev.azure.com/{organization}/{project}/_apis/wit/workItems/26

System.BoardColumn 不一定是列名,是吗?也许它是状态? - DjayCi
你在问题中提到了“board column”。它可以与状态不相关。如果这是你真正想要的,你也可以只查询状态。 - Matt
1
我正在寻找快速解决方案,以从Boards API获取工作项列表。这是一个很好的例子,只需要稍微调整一下查询,在Postman中运行它,就完成了,谢谢!因此,在我的情况下,直接编写Json查询以获取特定区域路径中未关闭的用户故事如下所示:{ "query": "Select [System.Id], [System.Title], [System.State] From WorkItems Where [System.WorkItemType] = 'User Story' and [System.AreaPath] = 'your_area' and [System.State] <> 'Closed'" } - dorsz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接