【问题标题】:How can I query work items and their linked changesets in TFS?如何在 TFS 中查询工作项及其链接的变更集?
【发布时间】:2011-08-22 19:55:15
【问题描述】:

在 TFS 2010 中,我有带有链接变更集的工作项。我可以生成一个查询来报告我正在寻找的工作项。现在我想查询 Work Items and Direct Links,其中包括链接到这些工作项的所有 changesets。在查询编辑器中,我找不到任何将变更集指定为链接到项目的方法。 工作项是查询的唯一可能输出吗?

【问题讨论】:

    标签: hyperlink tfs-workitem changeset


    【解决方案1】:

    一种选择是使用 TFS API,如下面的 sn-p。

    var projectCollection = new TfsTeamProjectCollection(
        new Uri("http://localhost:8080/tfs"),
        new UICredentialsProvider());
    projectCollection.EnsureAuthenticated();
    var workItemStore = projectCollection.GetService<WorkItemStore>();
    var versionControlServer = projectCollection.GetService<VersionControlServer>();
    var artifactProvider = versionControlServer.ArtifactProvider;
    var project = workItemStore.Projects["Test01.MSFAgile.v5"];
    var teamQueryFolder = project.QueryHierarchy["Team Queries"] as QueryFolder;
    var query = teamQueryFolder["My Tasks"];
    var queryDefinition = workItemStore.GetQueryDefinition(query.Id);
    var variables = new Dictionary<string, string>
    {
        {"project", query.Project.Name}
    };
    var workItemCollection = workItemStore.Query(
        queryDefinition.QueryText,
        variables);
    foreach (WorkItem workItem in workItemCollection)
    {
        Console.WriteLine("WI: {0}, Title: {1}", workItem.Id, workItem.Title);
        foreach (var changeset in
            workItem.Links
                .OfType<ExternalLink>()
                .Select(link => artifactProvider
                    .GetChangeset(new Uri(link.LinkedArtifactUri))))
        {
            Console.WriteLine(
                "CS: {0}, Comment: {1}",
                changeset.ChangesetId,
                changeset.Comment);
        }
    }
    

    【讨论】:

      【解决方案2】:

      我刚刚参加了我提出问题的网络研讨会改进开发人员和测试人员协作。 alpi.com 的讲师 Ken Arneson 确认无法通过 TFS Team Explorer 中的查询编辑器报告指向变更集的链接。要访问变更集的链接,必须使用其他工具来访问“Cube”。我还有更多东西要学。

      【讨论】:

      • 哎呀,太糟糕了,我想做类似的事情,我想查看与特定日期范围内的更改集相关的工作项。如果我发现任何有用的东西,我会发表评论或回答。
      【解决方案3】:

      如果您执行查询并包含 >0 的外部链接计数,这实际上会为您提供所有具有与之关联的变更集的工作项。

      【讨论】:

      • 嘿,这很简单!我的要求只是在没有变更集的情况下审核需求,所以这就是我需要的!
      • 请记住,测试结果也会增加外部链接计数,因此如果您使用 TFS 执行测试,这可能不是最佳方法。
      猜你喜欢
      • 2013-01-01
      • 2011-10-07
      • 2012-05-31
      • 2011-08-05
      • 2015-05-21
      • 2018-10-15
      • 2010-11-25
      • 1970-01-01
      • 2019-03-11
      相关资源
      最近更新 更多