次の方法で共有


Azure DevOps の REST API サンプル

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

この記事のほとんどのサンプルでは、個人用アクセス トークン (AT) を使用します。 AT は、認証のコンパクトな例です。 Microsoft 認証ライブラリ、OAuth、セッション トークンなど、他にも多くの認証メカニズムを使用できます。 シナリオに最適なゲージの詳細については、認証ガイダンスを参照してください

詳細については、「 Azure DevOps Services REST API リファレンス 」および 「REST API の概要」を参照してください。

個人用アクセス トークン

REST API または .NET ライブラリを使用する場合は、Azure DevOps で認証します。

これらのサンプルを開始し、 PAT を作成します。

ヒント

AT はパスワードに似ています。 シークレットを保持します。 PAT が作成されたら、セキュリティで保護された場所に保存してください。

HTTP ヘッダーを介して PAT を提供するには、まずそれを Base64 文字列に変換します。 次の例は、C# を使用して Base64 に変換する方法を示しています。 結果の文字列は、HTTP ヘッダーとして次の形式で指定できます。

Authorization: Basic BASE64USERNAME:PATSTRING

REST API

REST API を使用して組織のプロジェクトの一覧を取得する例を次に示します。

using System.Net.Http;
using System.Net.Http.Headers;

...

//encode your personal access token                   
string credentials = Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(string.Format("{0}:{1}", "", personalAccessToken)));

ListOfProjectsResponse.Projects viewModel = null;

//use the httpclient
using (var client = new HttpClient())
{
    client.BaseAddress = new Uri($"https://dev.azure.com/{OrgName}/");  //url of your organization
    client.DefaultRequestHeaders.Accept.Clear();
    client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", credentials); 

    //connect to the REST endpoint            
    HttpResponseMessage response = client.GetAsync("_apis/projects?stateFilter=All&api-version=1.0").Result;
          
    //check to see if we have a successful response
    if (response.IsSuccessStatusCode)
    {
        //set the viewmodel from the content in the response
        viewModel = response.Content.ReadAsAsync<ListOfProjectsResponse.Projects>().Result;
                
        //var value = response.Content.ReadAsStringAsync().Result;
    }   
}

.NET クライアント ライブラリ

ここでは、2 つの .NET クライアント ライブラリを使用しています。 必ず、.NET プロジェクト内で次の .NET クライアント ライブラリを参照してください。

.NET クライアント ライブラリを使用して組織のプロジェクトの一覧を取得する例を次に示します。

using Microsoft.TeamFoundation.Core.WebApi;
using Microsoft.VisualStudio.Services.Common;

...

//create uri and VssBasicCredential variables
Uri uri = new Uri(url);
VssBasicCredential credentials = new VssBasicCredential("", personalAccessToken);

using (ProjectHttpClient projectHttpClient = new ProjectHttpClient(uri, credentials))
{
    IEnumerable<TeamProjectReference> projects = projectHttpClient.GetProjects().Result;                    
}

よく寄せられる質問

Q: コード サンプルのソース コードはどこで入手できますか?

A: を https://github.com/Microsoft/vsts-restapi-samplecode参照してください。

Q: .NET ライブラリの詳細情報はどこで入手できますか?

A: クライアント ライブラリ概要を参照してください。