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

3

我正在使用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为1234)中返回的ID:

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个回答

7

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

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

要获取包含所有细节和链接的工作项,您需要使用旨在报告目的的API。由于返回文档的可能大小巨大,它将被分块,并且您将收到一个水印。您可能需要进行多个请求。


成功了!在同一个查询中是否也可以检索到这些链接项的标题/状态,还是我需要逐个检查?在链接页面上找不到相关信息。 - YuriW
@YuriW 如何获取每个工作项的子任务的所有细节,展开=全部和关系不解决目的!! - Deepak Jain
@jessehouwing 如何获取每个工作项的子任务的所有详细信息,使用expand=all和relation不能解决问题!! - user8887761
1
要获取工作项及其子项的详细信息,请使用报告 API:https://www.visualstudio.com/en-us/docs/integrate/api/wit/reporting-work-item-links。 - jessehouwing

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接