【问题标题】:How can I find all work items in a given board column via Azure DevOps API?如何通过 Azure DevOps API 找到给定板列中的所有工作项?
【发布时间】:2020-08-25 21:19:50
【问题描述】:

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

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

【问题讨论】:

    标签: rest azure-devops azure-devops-rest-api


    【解决方案1】:

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

    返回:

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

    【讨论】:

    • System.BoardColumn 不一定是列名,是吗?也许它的状态?
    • 您在问题中提到了板列。它可以与状态脱节。如果那是你真正想要的,你也可以只查询状态。
    • 我正在寻找快速解决方案以从 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'" }
    猜你喜欢
    • 2021-04-19
    • 2020-11-11
    • 2020-04-04
    • 1970-01-01
    • 2020-07-06
    • 1970-01-01
    • 1970-01-01
    • 2020-06-11
    • 1970-01-01
    相关资源
    最近更新 更多