通过 Azure DevOps 中的自定义字段查找工作项的 HTTP 请求

HTTP Request to find work item by custom field in Azure DevOps

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

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

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

您可以使用以下 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 为空。