我使用以下代码从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)而不是它的方法。提前谢谢!
答案 0 :(得分:1)
它无法直接获取AccountName。具有用户名值的字段(如 CreatedBy / ChangedBy 字段)存储在TFS数据库中,作为对标识的引用,而不仅仅是显示名称。
但不支持按显示名称查询帐户列表。作为一种解决方法,您必须深入了解帐户列表并将显示名称与身份相匹配。该身份具有您的AccountName。
在TeamFoundationIdentity
的帮助下,您可以获得所需。请查看以下教程,了解更多详细信息: