如何使用 VSO/VSTS Rest API 执行自定义查询?

How to execute Custom Query using VSO/VSTS Rest API?

我希望在使用 REST API 执行自定义 VSO 查询时获得一些帮助。但是我在构建 URL 时遇到了问题。我一直在使用以下文档来构建我想要的东西。

https://www.visualstudio.com/en-us/integrate/api/wit/wiql

我的问题是我不确定如何或在何处自行存储查询。

https://{instance}/defaultcollection/[{project}/]_apis/wit/wiql?api-version={version}

给出的例子是

https://fabrikam.visualstudio.com/DefaultCollection/Fabrikam-Fiber-Git/_apis/wit/wiql?api-version=1.0

但这并没有显示存储查询的方式或位置。

我已经能够使用存储的查询执行相同的查询,但是,结果不 return 我在 VSO 的查询中设置的列。

用于执行查询的其余端点是一个 POST 方法,并期望 JSON body 包含一个键 query

因此,要执行自定义查询,您将 POST 调用 https://{instance}/defaultcollection/[{project}/]_apis/wit/wiql?api-version={version} 并将 content-type header 设置为 application/json 并且 body 以下格式的请求。

{
  "query": string
}

示例:

POST https://fabrikam.visualstudio.com/DefaultCollection/Fabrikam-Fiber-Git/_apis/wit/wiql?api-version=1.0
Content-Type: application/json

Body:

{
  "query": "Select [System.WorkItemType],[System.Title],[System.State],[Microsoft.VSTS.Scheduling.Effort],[System.IterationPath] FROM WorkItemLinks WHERE Source.[System.WorkItemType] IN GROUP 'Microsoft.RequirementCategory' AND Target.[System.WorkItemType] IN GROUP 'Microsoft.RequirementCategory' AND Target.[System.State] IN ('New','Approved','Committed') AND [System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Forward' ORDER BY [Microsoft.VSTS.Common.BacklogPriority] ASC,[System.Id] ASC MODE (Recursive, ReturnMatchingChildren)"
}