如何从TeamFoundation获取WorkItem的用户AccountName?

时间:2017-06-23 16:03:37

标签: c# tfs tfs-workitem workitem

我使用以下代码从TFS获取WorkItems:

private static List<WorkItem> GetTfsWorkItems(string projectName)
{
    Uri URI = new Uri("...", UriKind.Absolute);
    TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(URI);
    WorkItemStore store = new WorkItemStore(tpc);
    string query = $@"SELECT *
                      FROM WorkItems
                      WHERE [System.TeamProject] = '{projectName}'";
    return store.Query(query).Cast<WorkItem>().ToList();
}

WorkItem有字段&#34; CreatedBy&#34;和&#34; ChangedBy&#34;两者都是具有用户的DisplayName的字符串。 我正在寻找获取用户的AccountName(或Sid)而不是它的方法。提前谢谢!

1 个答案:

答案 0 :(得分:1)

它无法直接获取AccountName。具有用户名值的字段(如 CreatedBy / ChangedBy 字段)存储在TFS数据库中,作为对标识的引用,而不仅仅是显示名称。

但不支持按显示名称查询帐户列表。作为一种解决方法,您必须深入了解帐户列表并将显示名称与身份相匹配。该身份具有您的AccountName。

TeamFoundationIdentity的帮助下,您可以获得所需。请查看以下教程,了解更多详细信息:

相关问题