VSTS / TFS REST API-提取工作项及其链接的项

时间:2018-10-05 16:48:00

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

我正在使用VSTS / TFS Web API和下面的代码来检索一些用户故事:

var getWorkItemsHttpRequestMessage = new HttpRequestMessage(new HttpMethod("GET"), uri + "/_apis/wit/workitems?ids=736,731&&api-version=4.1");
var getWorkItemsHttpResponse = client.SendAsync(getWorkItemsHttpRequestMessage).Result;

if (getWorkItemsHttpResponse.IsSuccessStatusCode)
{    
    var workItems = getWorkItemsHttpResponse.Content.ReadAsAsync<HttpWorkItems>().Result;
    // ...

查询返回工作项的所有字段(在这种情况下为用户故事),但不返回链接到它们的其他项。 我想检索与这些用户故事相关的任务。

如何完成? 还有另一种更好的方法吗?

1 个答案:

答案 0 :(得分:3)

您可以将URL中的$expand参数与值relations一起使用:

https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/4?$expand=relations&api-version=4.1

在结果中,您将在relations部分中获得工作项链接:

"relations":[
 {
   "rel":"System.LinkTypes.Hierarchy-Forward",
   "url":"https://dev.azure.com/shaykia/_apis/wit/workItems/5",
   "attributes":{
   "isLocked":false
}

在上面的示例中,我们检查了API中的工作项4,在结果中,我们可以看到工作项5与他链接的类型为System.LinkTypes.Hierarchy-Forward,工作项45的父项(5是孩子,在这种情况下是一项任务)。

您可以阅读here有关关系类型的信息。