开发者

is it possible to query workitem custom field in TFS SDK

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(
                    " SEL开发者_运维知识库ECT [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


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');


If you do not have access to TFS Power Tools or the ability to install it, then you can also use the DisplayForm property of the Work Item Object.

myItem = Workitem.GetWorkItem("12345")
myItem.DisplayForm

DisplayForm returns an XML containing all the Field Names and Properties. You could look up the XML by label and get the corresponding Control FieldName.

myItem.Fields.Item("Custom.FieldName")


Sure, just add the name of the custom field.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜