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 了解关系类型。
我正在使用 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 了解关系类型。