使用命令行实用程序查找具有关联工作项的变更集

时间:2011-11-22 11:48:21

标签: tfs

正如标题所示,我正在寻找一个命令行实用程序(如tf.exe),它将向我显示与变更集列表相关联的工作项。请不要使用GUI,特别是没有弹出GUI内容的命令行实用程序。

我可能会被说服使用PowerShell cmdlet,但只能在胁迫下使用。最好是老式的.exe

2 个答案:

答案 0 :(得分:3)

使用以下代码段,您可以获得与Changeset'1111'相关联的工作项列表。

根据您检索变更集的方式,我认为可以相应调整满足您的需求:

using System;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.VersionControl.Client;
using Microsoft.TeamFoundation.WorkItemTracking.Client;

namespace GetWorkItems
{
    class Program
    {
        static void Main(string[] args)
        {
            TfsTeamProjectCollection tpc = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://myserver:8080/collection"));
            VersionControlServer vcs = tpc.GetService(typeof(VersionControlServer)) as VersionControlServer;

            Changeset myChangeset = vcs.GetChangeset(1111);
            WorkItem[] workItems = myChangeset.WorkItems;
            foreach (var workItem in workItems)
            {
                Console.WriteLine(workItem.Id);
            }
        }
    }
}

答案 1 :(得分:2)

您可以使用tf程序执行此操作。

tf changeset /collection:[url] [changeset#] /noprompt

/ noprompt标志阻止gui弹出,但你必须写一些东西来解析输出。这是输出的样子:

Changeset: 58
User: Alex
Date: Saturday, December 10, 2011 00:11:41

Comment:
  Fixed bug # 1

Items:
  edit $/netlib/Main/src/NetLib/Samples/Program.cs

Work Items:
  ID Type State    Assigned To Title
  -- ---- -------- ----------- -----------------------
  1  Bug  Resolved Alex        Bug1

Check-in Notes:
  Code Reviewer:
  Performance Reviewer:
  Security Reviewer: