TFS查询工作项获得满足一定条件的工作项集合。可以使用WorkItemStore类的Query方法,返回工作项集合类WorkItemCollection。如图:
1. 添加引用
using Microsoft.TeamFoundation.WorkItemTracking.Client;
using Microsoft.TeamFoundation.Client;
2. 连接服务器
string url = "http://ufoserver:8080/tfs/DefaultCollection ";
var projectcollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(url));
var workItemStore = projectcollection.GetService<WorkItemStore>();
3. 提交查询语句
if (workItemStore.Projects.Count > 0)
{
string wiql = "select [System.Id] from WorkItems where [System.WorkItemType]='Task' and [System.State]='Active'";
WorkItemCollection workItemList = workItemStore.Query(wiql);
}
4. 显示查询结果
DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("Work Item Type");
dt.Columns.Add("Title");
dt.Columns.Add("Assigned To");
dt.Columns.Add("State");
foreach (WorkItem item in workItemList)
{
DataRow dr = dt.NewRow();
dr[0] = item.Id.ToString();
dr[1] = item.Type.Name;
dr[2] = item.Title;
dr[3] = item.Fields["Assigned To"].Value;
dr[4] = item.State;
dt.Rows.Add(dr);
}
dgdvWorkItems.DataSource = dt;