17

TFS 2010 には、変更セットがリンクされた作業項目があります。探している作業項目を報告するクエリを生成できます。ここで、ワーク アイテムと、これらのワーク アイテムにリンクされたすべての変更セットを含む直接リンクのクエリを実行したいと考えています。クエリ エディターでは、変更セットをリンク先アイテムとして指定する方法が見つかりません。ワークアイテムはクエリから可能な唯一の出力ですか?

4

3 に答える 3

25

オプションは、次のスニペットのように TFS API を使用することです。

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);
    }
}
于 2011-06-09T14:12:46.230 に答える
16

ウェビナーImproving Developer and Tester Collaborationに参加して、質問をしました。alpi.com の講師である Ken Arneson は、変更セットへのリンクは TFS チーム エクスプローラーのクエリ エディターからレポートできないことを確認しました。変更セットへのリンクにアクセスするには、他のツールを使用して「キューブ」にアクセスする必要があります。もっと学ぶことがある。

于 2011-05-11T17:23:44.750 に答える
10

クエリを実行し、0 を超える外部リンク数を含めると、変更セットが関連付けられているすべての作業項目が実際に得られます。

于 2013-05-22T18:55:23.757 に答える