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

时间:2016-04-05 07:40:42

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

我希望能够使用REST API执行自定义VSO查询。但是我在构建URL时遇到了麻烦。我一直在使用以下文档来构建我想要的东西。

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

我的问题是我不确定如何或在哪里存储查询。

的https:// {实例} / defaultcollection / [{项目} /] _apis /机智/ wiql API-版本= {}版本

给出的例子是

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

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

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

1 个答案:

答案 0 :(得分:0)

执行查询的其余端点是POST方法,并且期望JSON正文包含密钥query

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

{
  "query": string
}

示例:

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

体:

{
  "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)"
}