The article you 're referring to in your answer presents with a method to do what you 're after, using WIQL. Certainly, not a bad choice.
Another way, in my opinion better, is to simply generate graphically the query that yields the results you 're after. You probably need a simple "Work Items and Direct Link":
Once you 've saved that you 'll be able to:
- Open the query in VS & Team Web Access
- Tie the query with Excel & work on WIs from within Excel
- Catch the query results with TFS-API.
For the latter part, supposing your query is named "MyLinkedQuery" and it resides under "Team Queries" of TeamProject "MyProj", you can do something like this:
using System;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.WorkItemTracking.Client;
namespace LinkedQueryResults
{
class Program
{
static void Main()
{
TfsTeamProjectCollection teamProjectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://TFSURL"));
var workItemStore = (WorkItemStore)teamProjectCollection.GetService(typeof(WorkItemStore));
var project = workItemStore.Projects["MyProj"];
QueryHierarchy queryHierarchy = project.QueryHierarchy;
var queryFolder = queryHierarchy as QueryFolder;
QueryItem queryItem = queryFolder["Team Queries"];
queryFolder = queryItem as QueryFolder;
if (queryFolder != null)
{
var myQuery = queryFolder["MyLinkedQuery"] as QueryDefinition;
if (myQuery != null)
{
var wiCollection = workItemStore.Query(myQuery.QueryText);
foreach (WorkItem workItem in wiCollection)
{
Console.WriteLine(workItem.Title);
}
}
}
}
}
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…