[英]getting user list from the team project your in at TFS 2012 using C#
我的目标是获取用户所在团队项目中用户的全部信息。然后,我想获取用户的电子邮件地址并将其分配给他们的任务的ID发送给他们。 (这是一种练习)
我使用以下代码成功连接到服务器:
TfsTeamProjectCollection tfs = new TfsProjectCollection(new Uri(tfsUri));
ITeamProjectCollectionService tpcService = tfs.GetService<ITeamProjectCollectionService>();
但我不知道如何从这一点继续。
我在寻找解决方案,但找不到任何好的材料。
您可以使用IIDentityManagementService从TFS Api中检索(所有)用户。
IIdentityManagementService identityManagementService = tpcService.GetService<IIdentityManagementService>();
TeamFoundationIdentity[][] identities = IdentityManagementService.ReadIdentities(IdentitySearchFactor.AccountName,
new[] { "Project Collection Valid Users" }, MembershipQuery.Expanded, ReadIdentityOptions.ExtendedProperties);
然后打印出所有电子邮件
foreach (var user in identities){
Console.WriteLine(user.GetAttribute("Mail", null));
}
_identityManagementService = _collection.GetService<IIdentityManagementService2>();
var validUsers = _identityManagementService.ReadIdentities(IdentitySearchFactor.AccountName, new[] { "Project Collection Valid Users" }, MembershipQuery.Expanded, ReadIdentityOptions.None)[0][0].Members;
var users = _identityManagementService.ReadIdentities(validUsers, MembershipQuery.None, ReadIdentityOptions.None).Where(x => !x.IsContainer).ToArray();
users
将持有简单的对象,在调试中检查对象以查看可用的属性。 在第二个ReadIdentities
您可以使用MembershipQuery
和ReadIdentityOptions
参数来获取有关用户的更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.