Программно добавить новую итерацию в TFS - PullRequest
5 голосов
/ 26 апреля 2011

Я могу вручную добавить новую итерацию в командный проект в TFS, щелкнув правой кнопкой мыши проект и перейдя на вкладку «Параметры командного проекта»> «Области и итерации»> вкладка «Итерации».

Есть ли пример того, как сделать это программно, используя их API?

Спасибо!

Ответы [ 2 ]

12 голосов
/ 26 апреля 2011

После некоторых экспериментов, основанных на ссылке taylonr, вот что я придумал как минимальное решение для добавления итерации, на случай, если кто-то еще столкнется с этим:

    public void AddIteration(string projectName, string iterationName)
    {
        using (var tfsCollection = new TfsTeamProjectCollection(new Uri(tfsServerUrl), getTfsCredentials()))
        {
            tfsCollection.Authenticate();
            var css = tfsCollection.GetService<ICommonStructureService>();
            string rootNodePath = string.Format("\\{0}\\Iteration", projectName);
            var pathRoot = css.GetNodeFromPath(rootNodePath);
            css.CreateNode(iterationName, pathRoot.Uri);
        }
    }
3 голосов
/ 26 апреля 2011

Этот урок решает вашу проблему? http://blogs.microsoft.co.il/blogs/shair/archive/2009/01/30/tfs-api-part-10-add-area-iteration-programmatically.aspx

Google-Fu "итерация tfs api add"

Из-за взгляда на его код (и использования TFS) создается впечатление, что итерации рассматриваются как иерархии. Вот почему вы видите такие вещи, как "Release1 \ Sprint2" и т. Д. ... вы можете иметь их вложенные глубоко ... в глубине они, вероятно, просто путь, и поэтому он использует путь добавления и т. Д.

...