如何通过Azure DevOps API在给定的板列中找到所有工作项?

问题描述

我正在构建一个应用程序,该应用程序从Azure DevOps板中获取信息。任务之一是让所有票证显示在给定的列中。

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

解决方法

在木板列中查找工作项的最简单方法是使用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