Nous relions des itérations dans TFS à un système externe de suivi des projets via toute la société. Dans le passé, nous étions liés à l'aide du processus d'itération dans un projet TFS, mais le problème est que les gens renomment ces espèces d'itération comme progrès des projets et le lien est perdu. Ainsi, après quelques recherches, je pense faire la liaison en utilisant l'itérationID. L'itération dans la Tfswarehouse n'est pas la même chose que l'itération dans la table de travail, et je n'arrive pas à trouver un moyen facile de trouver l'itération d'un sentiment d'itération? Quelqu'un a eu une idée de la manière dont nous pourrions peut-être y parvenir? P>
4 Réponses :
J'utiliserais le composant logiciel enfichable PowerShell à partir des derniers outils électriques TFS pour cela.
> $tfs = Get-TfsServer <name> -all > $tfs.WIT.Projects | % { $_.IterationRootNodes } | ft -auto id, path Id Path -- ---- 100 Test-ConchangoV2\Release 1\Sprint 1 92 Test-ConchangoV2\Release 1\Sprint 2 97 Test-ConchangoV2\Release 1\Sprint 3 91 Test-ConchangoV2\Release 1\Sprint 4 94 Test-ConchangoV2\Release 1\Sprint 5 93 Test-ConchangoV2\Release 1\Sprint 6 96 Test-ConchangoV2\Release 2\Sprint 1 90 Test-ConchangoV2\Release 2\Sprint 2 98 Test-ConchangoV2\Release 2\Sprint 3 99 Test-ConchangoV2\Release 3\Sprint 1 95 Test-ConchangoV2\Release 3\Sprint 2 89 Test-ConchangoV2\Release 3\Sprint 3
Merci - téléchargera et jetez un coup d'oeil! Si cela peut être fait à travers PowerShell, il devrait y avoir un moyen de le faire à travers le SDK? Cet outil de liaison est une application ASP.NET afin d'aimer faire dans ASP.NET.
Avait une pièce de théâtre, et ce qui précède ne montre que l'itération qui sont 2 niveaux de profondeur (par exemple, nom de client \ itération de racine \ iterer). Il ne montre pas d'itérations de racines ni d'itérations qui sont des enfants d'enfants ...
est ce 2015 seulement? Je viens de télécharger les derniers TFS Power Tools 2013 daté 2015-04-13 et ces objets ne sont pas disponibles. TFS Power Tools 2015 implique qu'il fonctionnera avec l'équipe Explorer 2015 mais je ne pouvais pas le faire fonctionner.
OK - Après avoir creusé d'autres points, vous avez trouvé le code ci-dessous qui itière à toutes les itérations, alors en utilisant un sous-ensemble de cela, je vais obtenir ce dont j'avais besoin :)
using System; using Microsoft.TeamFoundation.Client; using Microsoft.TeamFoundation.WorkItemTracking.Client; namespace TFSIterationList { class Program { static void Main(string[] args) { string tfsServer = "tfs"; string tfsProject = "Project Name"; TeamFoundationServer tfs = TeamFoundationServerFactory.GetServer(tfsServer); WorkItemStore store = new WorkItemStore(tfsServer); PrintTreeNodeCount(store, tfsProject); } private static void PrintTreeNodeCount(WorkItemStore store, string tfsProject) { int iterationNodeCount = 0; NodeCollection rootNodeCollection = store.Projects[tfsProject].IterationRootNodes; GetChildNodeCount(rootNodeCollection, ref iterationNodeCount); Console.WriteLine(tfsProject + " Iteration nodes : " + iterationNodeCount); } private static void GetChildNodeCount(NodeCollection nodeCollection, ref int nodeCount) { nodeCount += nodeCollection.Count; for (int i = 0; i < nodeCollection.Count; i++) { Console.WriteLine(nodeCollection[i].Id + " : " + nodeCollection[i].Path); // Console.WriteLine(nodeCollection[i].Name); if (nodeCollection[i].ChildNodes.Count > 0) { // Recursively walk through the child nodes GetChildNodeCount(nodeCollection[i].ChildNodes, ref nodeCount); } } } } }
Cela vous donne-t-il réellement l'identifiant d'itération, vous pouvez interroger?
Si vous souhaitez imprimer toutes les zones TFS, changez la ligne suivante: p>
à partir de: strong> NODECollection rootNodNodCollection = stocker.Projects [TFSProject]. Aérationrootnodes; P>
à: strong> NODECollection RootNodCollection = Store.Projets [TFSPROJECT] .AREAROOTNODES; P>
Merci pour le code, il a été utile à ma fin. p>
Ceci peut également être obtenu en utilisant la langue de la requête d'élément de travail ( wiql sur msdn ).
avec WIQL, vous pouvez interroger TFS. J'ai utilisé c #, mais je crois que cela fonctionne avec la plupart / toutes les langues .net. p>
foreach (WorkItem workitem in queryResults) { Console.WriteLine(workitem.IterationID); }