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

How can I find all work items in a given board column via Azure DevOps API?

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

我花了很多时间阅读他们的文档,但所有方法都依赖于你传递你想要取回的 IDS,而我正在寻找的是 API告诉我给定列中确实存在哪些工作项。

在看板列中查找工作项的最简单方法是使用 Wiql - Query by Wiql API。用法看起来与您使用 UI 查询功能查找工作项的方式非常相似。

给定一些处于这种看板状态的工作项(使用基本模板):

下面的 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

Returns:

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