簡體   English   中英

通過 REST API Azure DevOps 從團隊/組獲取用戶列表

[英]Get user list from team/group via REST API Azure DevOps

我有一個與服務總線集成的服務掛鈎,該服務總線在階段等待批准時觸發,在消息中我得到分配給批准的組,並且我需要獲取該組所有成員的郵件地址。

目前我只能獲得小組的詳細信息,而無法獲得有關成員的信息。

我也在嘗試使用 Microsoft.VisualStudio.Services 庫的 GraphHttpClient。

如果您所說的團隊是 DevOps 服務中的概念,那么您可以使用以下代碼在 C# 中獲取團隊成員。

using Newtonsoft.Json.Linq;
using RestSharp;
using System;

namespace GetTeamMembers
{
    class Program
    {
        static void Main(string[] args)
        {
            string OrgName = "xxx";
            string wanted_projectname = "xxx";
            string wanted_teamname = "xxx";

            string PAT = "xxx";
            var client1 = new RestClient("https://dev.azure.com/"+OrgName+"/_apis/teams?api-version=6.0-preview.3");
            var request1 = new RestRequest("https://dev.azure.com/"+OrgName+"/_apis/teams?api-version=6.0-preview.3", Method.Get);
            request1.AddHeader("Authorization", "Basic "+PAT);

            var response1 = client1.Execute(request1);
            JObject json_response1 = JObject.Parse(response1.Content);
            int count1 = (int)JObject.Parse(response1.Content)["count"];
            for (int i=0;i<count1;i++) {
                var team_name = (string)json_response1["value"][i]["name"];
                var project_name = (string)json_response1["value"][i]["projectName"];
                var team_id = (string)json_response1["value"][i]["id"];
                var project_id = (string)json_response1["value"][i]["projectId"];
                if (project_name==wanted_projectname&&team_name==wanted_teamname) {
                    var client2 = new RestClient("https://dev.azure.com/"+OrgName+"/_apis/projects/"+project_id+"/teams/"+team_id+"/members?api-version=6.0");
                    var request2 = new RestRequest("https://dev.azure.com/"+OrgName+"/_apis/projects/"+project_id+"/teams/"+team_id+"/members?api-version=6.0", Method.Get);
                    request2.AddHeader("Authorization", "Basic "+PAT);

                    var response2 = client2.Execute(request2);
                    Console.WriteLine(response2.Content);
                }
            }
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM