Мне нужна помощь с Microsoft TFS. (Или VSTS, поправьте меня, если я ошибаюсь)
Я хочу получить для данного предмета все это отношения и детей.
Я могу получить отношения, но, как я понимаю, не дети (например, все задачи в заданном отставании, и все связанные задачи / ошибки и т. Д.). В конце концов я хотел бы представить дерево (или отображение в стиле GraphQL со всеми связями).
Вот часть моего класса:
using Microsoft.TeamFoundation.WorkItemTracking.WebApi.Models;
using Microsoft.TeamFoundation.Client;
using Microsoft.VisualStudio.Services.Client;
using Microsoft.VisualStudio.Services.Common;
using Microsoft.VisualStudio.Services.WebApi;
public TfsDataProvider(string tfsInstanceUrl, string tfsCollection)
{
TfsInstanceUrl = tfsInstanceUrl.TrimEnd('/');
TfsCollection = tfsCollection;
TfsUrlPlusCollection = string.Format("{0}/{1}", tfsInstanceUrl, tfsCollection);
//tfs nuget packages for API version 3.2:
creds = new VssCredentials();
creds.Storage = new VssClientCredentialStorage();
Uri url = new Uri(TfsUrlPlusCollection); //"http://tfs:8080/tfs/aeronautics-100"
connection = new VssConnection(url, creds);
wiClient = connection.GetClient<WorkItemTrackingHttpClient>();
//tracker = new HashSet<int>();
}
public List<WorkItem> GetWorkItemsByIds(IEnumerable<int> ids)
{
var wis = wiClient.GetWorkItemsAsync(ids, null, null, WorkItemExpand.Relations).Result;
return wis;
}
приведенный выше код работает, и я получаю все элементы и их отношения, затем я могу получить отношения по id и построить своего рода дерево для отображения.
Моя проблема в том, что я не понимаю, как мне получить всех детей.
В настоящее время я хочу отправить этой функции массив идентификаторов (или 1 идентификатор в настоящее время) и рекурсивно получить все ее дочерние элементы и отношения. Кажется, я получаю только отношения.
Я использую TFS версии 2017 года, а версия API - 3.2.