使用REST API获取TFS工作项及其链接

时间:2016-12-21 19:03:51

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

我正在使用TFS REST API并且正在尝试检索工作项目&他们的子项目按标题(父母的标题是参数)。我找不到使用TFS REST API检索这些链接项的方法。

这是我尝试过的。首先,我按标题查询工作项:

URI = http://[tfspath]/_apis/wit/wiql?api-version=1.0
query = SELECT * FROM WorkItem WHERE [System.Title] = 'some title'

上面的内容返回一个对象WorkItems,它只包含匹配工作项的ID / URL。然后,我在下面的查询中使用返回的ID(假设id为1234):

URI = http://[tfspath]/_apis/wit/workitems/1234?fields=System.Title&api-version=1.0

这将返回项目的标题&我可能会在字段列表中包含的其他字段。但是,我找不到在退货中包含子项的方法。我尝试过包含System.RelatedLinks,但这不会更改返回的字段。例如:

URI = http://[tfspath]/_apis/wit/workitems/1234?fields=System.Title,System.RelatedLinkCount,System.RelatedLinks&api-version=1.0

返回

"fields":{"System.RelatedLinkCount":4,"System.Title":"some title"}

这意味着有4个相关链接指向工作项“某个标题”,但它们不会被退回。 我在这里错过了什么?我如何获得这些相关链接/子项目?

1 个答案:

答案 0 :(得分:6)

&$expand=relations附加到查询字符串以获取工作项的链接集合:

$expand enum { all, relations, none }   none    
Gets work item relationships (work item links, hyperlinks, file attachements, etc.).

要获取包含所有详细信息的工作项以及包含详细信息的链接,您需要使用用于报告目的的API。由于返回文档可能的剪切大小,它将被分块并且您将获得水印。您可能需要做多个请求。