/// <summary> /// Execute a WIQL query to return a list of bugs using the .NET client library /// </summary> /// <returns>List of Microsoft.TeamFoundation.WorkItemTracking.WebApi.Models.WorkItem</returns> public List <IDefect> GetMyTasks() { List <IDefect> result = new List <IDefect>(); using (TfsTeamProjectCollection service = Service) { WorkItemStore workItemStore = service.GetService <WorkItemStore>(); // get the WorkItemStore service // get the project context for the work item store Project workItemProject = workItemStore.Projects[TeamProjectName]; // search for the 'My Queries' folder QueryFolder myQueriesFolder = workItemProject .QueryHierarchy .FirstOrDefault(qh => qh is QueryFolder && qh.IsPersonal) as QueryFolder; if (myQueriesFolder != null) { // search for the 'SOAP Sample' query QueryDefinition newBugsQuery = myQueriesFolder .FirstOrDefault(qi => qi is QueryDefinition && qi.Name.Equals(myTaskQueryName)) as QueryDefinition; if (newBugsQuery == null) { return(result); } // run the 'SOAP Sample' query WorkItemCollection workItems = workItemStore.Query(newBugsQuery.GetQuery(project: TeamProjectName, user: workItemStore.UserIdentityName)); foreach (WorkItem workItem in workItems) { result.Add(ToDefectItem(workItem)); } } return(result); } }
public List <IDefect> GetAllDefects() { List <IDefect> result = new List <IDefect>(); using (TfsTeamProjectCollection service = Service) { // get the WorkItemStore service WorkItemStore workItemStore = service.GetService <WorkItemStore>(); QueryDefinition query = GetNewQueryDefinition("GetAllDefects", WorkItemOutputFields, Statement.New() .Where(DefectField.TeamProject, "@Project") // .Where("System.AssignedTo", "@Me") .Where(DefectField.WorkItemType, WorkItemType) .WhereNot(DefectField.State, "Resolved") .WhereNot(DefectField.State, "Closed") .WhereNot(DefectField.State, "Retired") .WhereNot(DefectField.State, "Completed") .WhereNot(DefectField.State, "Verified") .WhereNot(DefectField.DefectID, "") .WhereNot(DefectField.DefectID, "TBD") .WhereNot(DefectField.StateGroup, "Complete") .Where(DefectField.Title, "Request", Statement.Op.Contains) .Where(DefectField.AreaPath, "Vita", Statement.Op.Under) .OrderBy(DefectField.CreatedDate, Statement.Order.Descending) //ORDER BY[System.CreatedDate] desc ); WorkItemCollection workItems = workItemStore.Query(query.GetQuery(project: TeamProjectName, user: workItemStore.UserIdentityName)); result.AddRange(ToDefectItemCollection(workItems)); } return(result); }