Paul Selles
Computers and cats
Monthly Archives: March 2014
TFS API: TFS User Email Address Lookup and Reverse Lookup
March 24, 2014
Posted by on Occasionally I need to develop a tool that requires sending and receiving emails to and from developers. To do this I will need to lookup email addresses based on a TFS user’s display or account name and vice versa. Lucky for us this is painfully easy to do using IIdentityManagementService.ReadIdentity and the TeamFoundationIdentity class [1][2]:
private static readonly string TeamProjectUriString = "http://tfs.yourtfsurl.com"; // Team Project Collection getter private static TfsTeamProjectCollection _tfsTeamProjectCollection; public static TfsTeamProjectCollection TfsTeamProjectCollection { get { return _tfsTeamProjectCollection ?? (_tfsTeamProjectCollection = new TfsTeamProjectCollection(new Uri(TeamProjectUriString))); } } // Identity Management Service getter private static IIdentityManagementService _identityManagementService; public static IIdentityManagementService IdentityManagementService { get { return _identityManagementService ?? (_identityManagementService = TfsTeamProjectCollection.GetService<IIdentityManagementService>()); } } // Get Email Address from TFS Account or Display Name public static string GetEmailAddress(string userName) { TeamFoundationIdentity teamFoundationIdentity = IdentityManagementService.ReadIdentity( IdentitySearchFactor.AccountName | IdentitySearchFactor.DisplayName, userName, MembershipQuery.None, ReadIdentityOptions.None); return teamFoundationIdentity.GetAttribute("Mail", null); } // Get TFS Display Name from and Email Address public static string GetDisplayName(string emailAddress) { TeamFoundationIdentity teamFoundationIdentity = IdentityManagementService.ReadIdentity( IdentitySearchFactor.MailAddress, emailAddress, MembershipQuery.None, ReadIdentityOptions.None); return teamFoundationIdentity.DisplayName; }
References
[1] IIdentityManagementService.ReadIdentity Method. MSDN
[2] TeamFoundationIdentity Class. MSDN
VS2013: Opening Build In Browser
March 6, 2014
Posted by on
Recent Comments