是否可以在TFS SDK中查询工作项自定义字段

时间:2010-07-19 09:17:42

标签: tfs

我的工作项很少,其中包含名为“参考ID”的自定义字段 是否可以在此自定义字段上使用wiql进行查询。 目前我使用以下方法:

// TFS中的foreach项目

//形成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]");

//对结果集

运行循环

//如果workitem.Fields [“参考ID”] =所需值

//在这个工作项目上做一些任务

这种方法需要相当长的时间,因为有超过1000个结果。

我的问题: 是否可以在上述查询中添加自定义字段作为过滤条件

3 个答案:

答案 0 :(得分:2)

是。您使用与项目关联的字段名称。您可以使用Process Explorer(TFS Power Tools)并打开WorkItemType来获取它。

这是我们今天使用的一个例子

Select Id from WorkItems where ([xxx.Ticket.OriginalTicketID] = '12345');

答案 1 :(得分:1)

如果您无权访问TFS Power Tools或安装它,则还可以使用Work Item Object的DisplayForm属性。

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

DisplayForm返回包含所有字段名称和属性的XML。您可以按标签查找XML并获取相应的Control FieldName。

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

答案 2 :(得分:0)

当然,只需添加自定义字段的名称。