【问题标题】:Getting changesets between specific builds获取特定构建之间的变更集
【发布时间】:2012-03-06 03:36:22
【问题描述】:

我正在尝试获取两个构建之间的所有工作项。我只能看到完成这项工作的一种方法 - 获取开始和结束更改集并获取每个更改集的工作项。 我遇到的问题是从内部版本号获取一组变更集。 我尝试使用获取关联的变更集,但这不起作用,因为它只获取该构建的变更集,而不是之前的变更集。

谁能帮忙?

【问题讨论】:

标签: tfs tfsbuild


【解决方案1】:

此代码将获取两个标签之间的所有变更集:

Console.WriteLine("Enter the first build label:");
var firstVersion = Console.ReadLine();
Console.WriteLine("Enter second build label:");
var secondVersion = Console.ReadLine();

var server = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("TFS SERVER INSTANCE"));
var hyperlinker = server.GetService<TswaClientHyperlinkService>();

var versionService = server.GetService<VersionControlServer>();
var changesets = versionService.QueryHistory(@"$/EntDev", VersionSpec.Latest, 0, RecursionType.Full, null,
                       VersionSpec.ParseSingleSpec("L" + firstVersion, null), 
                       VersionSpec.ParseSingleSpec("L" + secondVersion, null), 
                       Int32.MaxValue, 
                       false, 
                       false);
var workItems = new List<WorkItem>();
foreach (Changeset changeset in changesets)
{
  var link = hyperlinker.GetChangesetDetailsUrl(changeset.ChangesetId);
  Console.WriteLine("#" + changeset.ChangesetId.ToString() + " - " + changeset.Comment + " - " + link.ToString());

  workItems.AddRange(changeset.WorkItems);
}
foreach (var item in workItems)
{
  var link = hyperlinker.GetWorkItemEditorUrl(item.Id);
  Console.WriteLine("WI#" + item.Id + " - " + item.Title + " - " + link.ToString());
}
Console.ReadLine();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 2011-12-21
    • 1970-01-01
    • 2018-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多