public JsonResult GetMembers(string accountName, string accessToken) { Project mod = new Project(); try { AccountMembers.Account accountMembers = new AccountMembers.Account(); VstsRestAPI.Configuration _defaultConfiguration = new VstsRestAPI.Configuration() { UriString = "https://" + accountName + ".visualstudio.com/DefaultCollection/", VersionNumber = "2.2", PersonalAccessToken = accessToken }; VstsRestAPI.ProjectsAndTeams.Accounts objAccount = new VstsRestAPI.ProjectsAndTeams.Accounts(_defaultConfiguration); accountMembers = objAccount.GetAccountMembers(accountName, accessToken); if (accountMembers.count > 0) { foreach (var user in accountMembers.value) { mod.accountUsersForDdl.Add(new SelectListItem { Text = user.member.displayName, Value = user.member.mailAddress }); } } } catch (Exception ex) { ProjectService.logger.Info(DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss") + "\t" + ex.Message + "\t" + "\n" + ex.StackTrace + "\n"); return(null); } return(Json(mod, JsonRequestBehavior.AllowGet)); }
/// <summary> /// Get Account members /// </summary> /// <param name="accountName"></param> /// <param name="AccessToken"></param> /// <returns></returns> public AccountMembers.Account GetAccountMembers(string accountName, string AccessToken) { AccountMembers.Account viewModel = new AccountMembers.Account(); using (var client = new HttpClient()) { client.BaseAddress = new Uri(string.Format("https://{0}.vsaex.visualstudio.com/", accountName)); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken); // connect to the REST endpoint //HttpResponseMessage response = client.GetAsync("/_apis/memberentitlements?api-version=4.1-preview.1&top=100&skip=0").Result; HttpResponseMessage response = client.GetAsync("/_apis/userentitlements?api-version=4.1-preview").Result; // check to see if we have a succesfull respond if (response.IsSuccessStatusCode) { viewModel = response.Content.ReadAsAsync <AccountMembers.Account>().Result; } return(viewModel); } }
/// <summary> /// Get Account members /// </summary> /// <param name="accountName"></param> /// <param name="accessToken"></param> /// <returns></returns> public AccountMembers.Account GetAccountMembers(string accountName, string accessToken) { try { AccountMembers.Account viewModel = new AccountMembers.Account(); using (var client = GetHttpClient()) { // connect to the REST endpoint HttpResponseMessage response = client.GetAsync("/_apis/userentitlements?api-version=" + _configuration.VersionNumber).Result; // check to see if we have a succesfull respond if (response.IsSuccessStatusCode) { viewModel = response.Content.ReadAsAsync <AccountMembers.Account>().Result; } return(viewModel); } } catch (Exception ex) { logger.Debug(DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss") + "\t" + "CreateReleaseDefinition" + "\t" + ex.Message + "\t" + "\n" + ex.StackTrace + "\n"); } return(new AccountMembers.Account()); }