tags:

views:

43

answers:

2

I have few workitems which contain custom field called "Reference ID" is it possible to query using wiql on this custom field. Currently I am using the following approach:

//foreach project in TFS

//form the wiql

WorkItemCollection workItemCollection = workItemStore.Query(
                    " SELECT [System.Id], [System.WorkItemType]," +
                    " [System.State], [System.AssignedTo], [System.Title] " +
                    " FROM WorkItems " +
                    " WHERE [System.TeamProject] = '" + tfsProject.Name +
                    "' ORDER BY [System.WorkItemType], [System.Id]");

//run a loop against the result set

//if workitem.Fields["Reference ID"]=required value

//do some tasks on this workitem

this approach is taking quite sometime since there are more than 1000 results.

my question: is it possible to add custom field also as a filter condition in the above query

+1  A: 

Yes. You use the field name that's associated with the item. You can get this using the Process Explorer (TFS Power Tools) and opening the WorkItemType.

Here's an example we use today

Select Id from WorkItems where ([xxx.Ticket.OriginalTicketID] = '12345');
Robaticus
Alternatively, you can just hover over the label for the field in the work item editor and you should see a ToolTip with the field name. You can use that field name in your WIQL query.
Jim Lamb
True. I'm a bigger fan of using the internal name, personally-- but of course you're right. Both will work.
Robaticus
A: 

Sure, just add the name of the custom field.

Jim Lamb