Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
In de meeste voorbeelden in dit artikel worden persoonlijke toegangstokens (PAT's) gebruikt. Hoewel PAW's een compact voorbeeld zijn voor verificatie, raden we u niet aan deze te gebruiken voor productietoepassingen. Er zijn veel andere verificatiemechanismen beschikbaar, waaronder Microsoft Authentication Library, OAuth en sessietokens. Zie Verificatierichtlijnenvoor meer informatie om te bepalen wat het meest geschikt is voor uw scenario.
Zie Azure DevOps REST API Reference and Get started with REST API's (Aan de slag met REST API's) voor meer informatie.
Authenticatie
Verifieer met Azure DevOps wanneer u de REST API's of .NET-bibliotheken gebruikt door de volgende stappen uit te voeren:
Een PAT maken:
Begin met deze voorbeelden en maak een persoonlijk toegangstoken (PAT).Belangrijk
We raden u aan de veiligere Microsoft Entra-tokens te gebruiken voor persoonlijke toegangstokens met een hoger risico. Meer informatie over onze inspanningen om het PAT-gebruik te verminderen. Bekijk onze verificatierichtlijnen om het juiste verificatiemechanisme voor uw behoeften te kiezen.
Basisverificatie gebruiken met een PAT:
- Converteer uw PAT naar een met Base64 gecodeerde tekenreeks in de indeling
username:PAT
(de gebruikersnaam kan leeg zijn). - Voeg de gecodeerde tekenreeks toe aan de
Authorization
HTTP-header.
Voorbeeld van basisverificatie met curl:
curl -u :{yourPAT} https://dev.azure.com/{organization}/_apis/projects?api-version=7.2-preview.1
- Converteer uw PAT naar een met Base64 gecodeerde tekenreeks in de indeling
GET-aanvraagvoorbeelden
De volgende C# en curl-aanvragen retourneren een JSON-antwoord met de lijst met alle projecten in een opgegeven organisatie:
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;
}
}
-u username:PAT https://dev.azure.com/{organization}/_apis/projects?api-version=6.0
VOORBEELD VAN POST-aanvraag
Met de volgende curl-aanvraag maakt u een nieuw werkitem van het type Taak in een opgegeven project:
-u username:PAT -X POST -H "Content-Type: application/json" \
-d '{"fields": {"System.Title": "New Work Item"}}' \
https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/$Task?api-version=6.0
PUT-aanvraagvoorbeeld
Met de volgende curl-aanvraag wordt een bestaand werkitem bijgewerkt door de status te wijzigen in 'Wordt uitgevoerd':
-u username:PAT -X PATCH -H "Content-Type: application/json-patch+json" \
-d '[{"op": "add", "path": "/fields/System.State", "value": "In Progress"}]' \
https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/{id}?api-version=6.0
Voorbeeld van DELETE-aanvraag
Met de volgende curl-aanvraag wordt een bestaand werkitem uit een opgegeven project verwijderd:
-u username:PAT -X DELETE \
https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/{id}?api-version=6.0
.NET-clientbibliotheken
Hier gebruiken we twee .NET-clientbibliotheken. Zorg ervoor dat u verwijst naar de volgende .NET-clientbibliotheken in uw .NET-project.
In het volgende voorbeeld wordt een lijst met projecten voor uw organisatie via .NET-clientbibliotheken weergegeven:
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;
}
Veelgestelde vragen
V: Waar kan ik de broncode voor de codevoorbeelden ophalen?
A: Zie de https://github.com/Microsoft/vsts-restapi-samplecode.
V: Waar vind ik meer informatie over de .NET-bibliotheek?
A: Zie het overzicht van clientbibliotheken.