In TFS 2010 I have work items with linked changesets. I can generate a query that reports the work items I'm looking for. Now I want to do a query of Work Items and Direct Links that includes all the changesets linked to these work items. In the query editor I can't find any means to specify a changeset as the linked-to item. Are work-items the only output possible from a query?
An option is to use the TFS API like the following snippet.
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);
}
}
I just attended the Webinar Improving Developer and Tester Collaboration where I posed my question. Instructor Ken Arneson of alpi.com confirmed that links to changesets are not reportable through Query Editor in TFS Team Explorer. To access links to changesets, other tools must be used to access the "Cube". I have more to learn.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With