如何从团队基础上获取WorkItem的用户帐户名



我使用此代码从TFS获取工作网络:

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具有"创建"one_answers"更改"字段,这两个都是用户显示名称的字符串。我正在寻找获取用户帐户名(或SID(而不是它的方法。预先感谢!

获取帐户名是无法直接的。具有用户名值(例如 createby/changeby 字段(的字段存储在TFS数据库中作为对身份的引用,而不仅仅是显示为显示名称。

但是,不支持查询按显示名称的帐户列表。作为解决方法,您必须研究帐户列表并将显示名称与身份匹配。该身份具有您的帐户名。

TeamFoundationIdentity的帮助下,您可以得到所需的东西。查看以下教程的更多详细信息:

  • tfs按名称获取用户
  • 仅使用显示名称
  • 获取TFS用户列表(邮件,SID,帐户,域((包括TFS中所有身份的概念(

最新更新