正如标题所示,我正在寻找一个命令行实用程序(如tf.exe
),它将向我显示与变更集列表相关联的工作项。请不要使用GUI,特别是没有弹出GUI内容的命令行实用程序。
我可能会被说服使用PowerShell cmdlet,但只能在胁迫下使用。最好是老式的.exe
。
答案 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: