1

我通过使用下面的代码得到 workitemcollection

public WorkItemCollection QueryWorkItems(string serverName, string projectName, string extendedWIQLQuery)
{
    var server = new Uri(serverName);
    var tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(server);
    WorkItemStore workItemStore = (WorkItemStore)tfs.GetService(typeof(WorkItemStore));
    Project p = workItemStore.Projects[projectName];
    string wiqlQuery = "Select * from WorkItem where [System.TeamProject] = '" + projectName + "'";
    wiqlQuery += extendedWIQLQuery;
    WorkItemCollection witCollection = workItemStore.Query(wiqlQuery);
    return witCollection;
}

我正在通过 foreach 语句迭代这个集合,如下所示

 foreach (WorkItem wi in res)
        {
           .................
        }

我得到了 TFSItem 的一些字段。

特别是我需要“分配给”、“工作项的最后更新日期”、优先级等字段。

是否可以通过将 TFS API 用于任何集合或类来获取 TFS 的大部分字段(如 Priority、IssueType、HowFound 等)?

谢谢

4

3 回答 3

6

您无需遍历 Fields 集合即可获取字段值。

foreach (WorkItem wi in res)
{
    var assignedTo = wi["Assigned To"];

    //wi["FieldName"]

    wi["Assigned To"] = "Johnny Dev"'


}
于 2014-07-28T19:32:48.947 回答
1

我从字段集合中获得了 TFS 工作项中的所有字段,包括“分配给”。如果您遍历归档的集合,您可以获得 TFS 字段的所有值。

于 2013-05-13T06:25:36.807 回答
0

这就是我的最终结果。筛选特定 TFS 项目、迭代和用户

    sQuery.AppendLine("SELECT * ")
    sQuery.AppendLine(" FROM WorkItems ")
    sQuery.AppendLine(" WHERE ")
    sQuery.AppendLine("     [Team Project] = '" & pProject.Name & "' ")
    sQuery.AppendLine("     AND [Iteration Path] = '" & currentSprint.IterationPath & "' ")
    sQuery.AppendLine("     AND [Assigned To] = '[Replace with UserName]'")

    Dim result = pProject.Store.Query(sQuery.ToString)

也许它可以帮助某人!

于 2015-03-20T14:06:30.480 回答