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

VSTS / TFS REST API - Fetch Work Items and their linked ones

我正在使用 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;
    // ...

查询 returns 工作项(在本例中为用户故事)的所有字段,但不包括链接到它们的其他项目。 我想检索与这些用户故事相关的任务。

怎么办? 还有其他更好的方法吗?

您可以在 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 工作项 4 5 的父项(5 他是子项,在本例中是任务)。

您可以阅读 here 了解关系类型。