【问题标题】:HTTP Request to find work item by custom field in Azure DevOps通过 Azure DevOps 中的自定义字段查找工作项的 HTTP 请求
【发布时间】:2020-09-24 11:27:50
【问题描述】:

有没有办法通过 HTTP 请求找到所有工作项,其中自定义字段的值等于给定值?

我有一个 PowerAutomate 流,当在特定电子邮件帐户中收到新电子邮件时,它会创建票证。每当有人回复创建重复票证的线程时的问题。我解决这个问题的想法是创建一个名为 Email ID 的新字段,在创建工单期间设置它,然后在流程开始时检查是否已经存在具有相同 conversation ID 的工作项。

我只是找不到任何允许我以这种方式搜索工作项的操作,除了 HTTP 请求。

【问题讨论】:

标签: api azure-devops power-automate


【解决方案1】:

您可以使用以下 REST API:

POST https://dev.azure.com/{organization}/_apis/Contribution/dataProviders/query?api-version=5.1-preview.1

这是请求正文的示例:

{
    "contributionIds": [
        "ms.vss-work-web.work-item-query-data-provider"
    ],
    "context": {
        "properties": {
            "wiql": "SELECT [System.Id] FROM WorkItems WHERE [System.TeamProject] = @project AND [Custom.EmailId] = '{email id}'",
            "sourcePage": {
                "routeValues": {
                    "project": "{project}"
                }
            }
        }
    }
}

在响应正文中,如果查询结果中有工作项,则工作项的 id 将出现在data.ms.vss-work-web.work-item-query-data-provider.data.targetIds 中。如果没有工作项,则变量data.ms.vss-work-web.work-item-query-data-provider.data.targetIds 为空。

【讨论】:

  • 我使用了这个答案加上对问题的评论的组合,因为文档解释了如何将project(以及 API 需要的团队)作为 URL 的一部分,这是方式比在命令中添加它作为变量更容易。此外,文档中的 API 也更新了。
猜你喜欢
  • 2023-01-03
  • 2021-08-09
  • 1970-01-01
  • 2023-04-06
  • 2020-07-13
  • 1970-01-01
  • 2022-09-27
  • 1970-01-01
  • 2020-11-26
相关资源
最近更新 更多