Azure DevOps에 대한 REST API 샘플
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
이 문서의 대부분의 샘플은 PAT(개인용 액세스 토큰)를 사용합니다. PAT는 인증을 위한 컴팩트한 예입니다. Microsoft 인증 라이브러리, OAuth 및 세션 토큰을 포함하여 사용할 수 있는 다른 많은 인증 메커니즘이 있습니다. 시나리오에 가장 적합한 측정에 대한 자세한 내용은 인증 지침을 참조하세요.
자세한 내용은 Azure DevOps Services REST API 참조 및 REST API 시작 참조를 참조하세요.
개인용 액세스 토큰
REST API 또는 .NET 라이브러리를 사용하는 경우 Azure DevOps를 사용하여 인증합니다.
이러한 샘플을 시작하고 PAT를 만듭니다.
팁
PAT는 암호와 같습니다. 비밀을 유지합니다. 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 클라이언트 라이브러리
여기서는 두 개의 .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;
}
FAQ
Q: 코드 샘플의 소스 코드는 어디서 가져올 수 있나요?
A: 를 참조하세요 https://github.com/Microsoft/vsts-restapi-samplecode.
Q: .NET 라이브러리에 대한 자세한 내용은 어디에서 찾을 수 있나요?
A: 클라이언트 라이브러리의 개요를 참조하세요.