API TFS - Comment obtenir le parent d'un élément de travail
Mon but ultime est d'obtenir le parent d'un élément de travail à un moment récursivement, jusqu'à ce qu'il n'y a pas plus de parents dans la hiérarchie. Pour le moment, il n'y a rien récursive encore, je suis toujours à la point de l'optimisation de la façon dont je obtenir le parent de l'élément de travail. J'ai pensé à une façon de faire cela impliquant une requête:
public WorkItem GetParentWorkItem(int id)
{
StringBuilder queryString = new StringBuilder("SELECT [System.Id]" +
" FROM WorkItemLinks " +
" WHERE [Source].[System.WorkItemType] = '" + TFS_TIMESHEET_WORK_ITEM_TYPE + "'" +
" AND [Source].[System.TeamProject] = '" + TFS_TIMESHEET_PROJECT_KEY + "'" +
" AND [Source].[System.Id] = " + id
);
Query wiQuery = new Query(GetWorkItemStore, queryString.ToString());
WorkItemLinkInfo[] wiTrees = wiQuery.RunLinkQuery();
WorkItem wi = GetWorkItemStore.GetWorkItem(wiTrees[1].TargetId);
return wi;
}
Le problème avec cette méthode est qu'il obtient toutes les éléments de travail, y compris prédécesseur, successeur, de l'enfant et les parents. Je savais que wiTrees[1]
était le parent de l'élément de travail donc j'ai codé en dur à l'index.
J'ai trouvé un moyen d'obtenir le "parent" WorkItemTypeEnd
objet de l'élément de travail magasin:
WorkItemLinkTypeEnd linkTypEnd = GetWorkItemStore.WorkItemLinkTypes.LinkTypeEnds["Parent"];
Où dois-je aller d'ici?
OriginalL'auteur JF Beaulieu | 2012-02-17
Vous devez vous connecter pour publier un commentaire.
Cela fonctionne sur TFS 2013:
OriginalL'auteur Michael Logutov
Trouvé une solution, qui renvoie le parent WorkItem si il y a un parent, sinon renvoie la valeur null.
SELECT [System.Id] FROM WorkItemLinks WHERE ([Source].[System.WorkItemType] = 'User Story') And ([System.Links.LinkType] = 'Parent')) mode(MustContain)
(Voir: msdn.microsoft.com/en-us/library/bb130306.aspx#sectionToggle2)OriginalL'auteur JF Beaulieu