17 votes

Comment puis-je interroger les éléments de travail et leurs changesets liés dans TFS ?

Dans TFS 2010, j'ai points de travail avec des changesets liés. Je peux générer une requête qui rapporte les points de travail Je suis à la recherche de. Maintenant, je veux faire une requête de Éléments de travail et liens directs qui comprend tous les changesets liés à ces éléments de travail. Dans l'éditeur de requêtes, je ne trouve aucun moyen de spécifier un jeu de modifications comme élément lié. Est-ce que postes de travail le seul résultat possible d'une requête ?

25voto

Joshka Points 456

Une option consiste à utiliser l'API TFS, comme dans l'extrait suivant.

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);
    }
}

16voto

JonN Points 437

Je viens de participer au webinaire Améliorer la collaboration entre développeurs et testeurs où j'ai posé ma question. Le formateur Ken Arneson d'alpi.com a confirmé que les liens vers les changesets ne peuvent pas être signalés par l'éditeur de requêtes dans TFS Team Explorer. Pour accéder aux liens vers les changesets, il faut utiliser d'autres outils pour accéder au "Cube". J'ai encore des choses à apprendre.

10voto

Erin Points 101

Si vous effectuez une recherche et que vous incluez le nombre de liens externes >0, vous obtiendrez tous les éléments de travail auxquels sont associés des jeux de modifications.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X