Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Les API REST Azure DevOps fournissent un accès programmatique puissant aux éléments de travail, référentiels, builds, versions, etc. Que vous créez des intégrations personnalisées, automatisez des flux de travail ou étendez des fonctionnalités Azure DevOps, il est essentiel de comprendre les modèles et concepts fondamentaux pour réussir l’implémentation.
Conseil / Astuce
Vous êtes prêt à commencer à coder ? Passez aux exemples d’API REST pour obtenir des exemples de travail complets avec des modèles d’authentification modernes.
Cet article décrit les concepts fondamentaux et les modèles des API REST Azure DevOps. Pour obtenir des exemples d’implémentation pratiques, consultez les exemples d’API REST.
Structure d’URL
Les API suivent un modèle courant, comme illustré dans l’exemple suivant :
VERB https://{instance}/{collection}/{team-project}/_apis/{area}/{resource}?api-version={version}
Conseil / Astuce
À mesure que les API évoluent, nous vous recommandons d’inclure une version d’API dans chaque requête. Cette pratique peut vous aider à éviter des modifications inattendues dans l’API qui pourraient s’interrompre.
Azure DevOps Services
Pour Azure DevOps Services, instance est dev.azure.com/{organization} et collection est DefaultCollection, donc le modèle ressemble à l'exemple suivant :
VERB https://dev.azure.com/{organization}/_apis/{area}/{resource}?api-version={version}
Exemple de point de terminaison :
GET https://dev.azure.com/{organization}/_apis/projects?api-version=7.2
Serveur Azure DevOps
Pour Azure DevOps Server, instance est {server:port}. Le port par défaut d’une connexion non SSL est 8080.
La collection par défaut est DefaultCollection, mais vous pouvez utiliser n’importe quelle collection.
Exemples :
- SSL :
https://{server}/DefaultCollection/_apis/projects?api-version=7.2 - Non SSL :
http://{server}:8080/DefaultCollection/_apis/projects?api-version=7.2
Authentification
Les API REST Azure DevOps prennent en charge plusieurs méthodes d’authentification :
- ID Microsoft Entra - Recommandé pour les applications de production
- Jetons d’accès personnels (PAT) - Authentification simple pour les scripts et les tests
- OAuth 2.0 - Pour les applications non-Microsoft
- Principaux de service - Pour les scénarios automatisés
Importante
L’authentification Microsoft Entra ID est l’approche recommandée pour les applications de production. Pour obtenir des exemples d’implémentation et suivre des instructions d’authentification complètes, consultez les exemples d’API REST et les conseils d’authentification.
Format de la réponse
Les API REST Azure DevOps retournent généralement des réponses JSON. Voici un exemple de structure de réponse :
{
"value": [
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "Fabrikam-Fiber-TFVC",
"url": "https://dev.azure.com/fabrikam-fiber-inc/_apis/projects/00000000-0000-0000-0000-000000000000",
"description": "TeamFoundationVersionControlprojects"
}
],
"count": 1
}
La réponse est un JSON, généralement ce que l'on obtient des API REST, bien qu'il existe quelques exceptions, comme les blobs Git.
Conseil / Astuce
Pour obtenir des exemples de travail complets montrant comment analyser ces réponses, consultez les exemples d’API REST.
Méthodes et opérations HTTP
Les API REST Azure DevOps utilisent des méthodes HTTP standard :
| Méthode | Utilisé pour... | Exemple : |
|---|---|---|
| GET | Obtenir une ressource ou une liste de ressources | Obtenir des projets, des éléments de travail |
| PUBLIER | Créer une ressource ou obtenir des ressources à l’aide de requêtes avancées | Créer des éléments de travail, interroger des éléments de travail |
| PUT | Créer ou remplacer complètement une ressource | Créer/mettre à jour un élément de travail |
| PATCH | Mettre à jour des champs spécifiques d’une ressource | Mettre à jour les champs d’élément de travail |
| Supprimer | Supprimer une ressource | Supprimer un élément de travail |
Conseil / Astuce
Pour obtenir des exemples pratiques de chaque méthode HTTP avec des exemples de code complets, consultez les exemples d’API REST.
En-têtes de requête et contenu
Lorsque vous fournissez un corps de requête (généralement avec POST, PUT et PATCH), incluez les en-têtes appropriés :
Content-Type: application/json
Pour les opérations PATCH sur les éléments de travail, utilisez :
Content-Type: application/json-patch+json
Remplacement de la méthode HTTP
Certains proxys web peuvent uniquement prendre en charge les verbes HTTP GET et POST, mais pas des verbes HTTP plus modernes tels que PATCH et DELETE.
Si vos appels peuvent passer par l’un de ces proxys, vous pouvez envoyer le verbe réel à l’aide d’une méthode POST, avec un en-tête pour remplacer la méthode.
Par exemple, vous pouvez mettre à jour un élément de travail (PATCH _apis/wit/workitems/3), mais vous devrez peut-être passer par un proxy qui autorise uniquement GET ou POST.
Vous pouvez passer le verbe approprié (PATCH dans ce cas) en tant que paramètre d’en-tête de requête HTTP et utiliser POST comme méthode HTTP réelle.
POST https://dev.azure.com/fabrikam-fiber-inc/_apis/wit/workitems/3
X-HTTP-Method-Override: PATCH
{
(PATCH request body)
}
Codes de réponse
Comprendre les codes de réponse HTTP vous aide à gérer les réponses d’API de manière appropriée :
| Réponse | Signification | Remarques |
|---|---|---|
| 200 | Succès | Le corps de la réponse contient les données demandées |
| 201 | Créé | Ressource créée avec succès |
| 204 | Succès | Aucun corps de réponse (fréquent avec DELETE) |
| 400 | Demande incorrecte | Paramètres ou corps de requête non valides |
| 401 | Non autorisée | Échec ou absence de l’authentification |
| 4:03 | Interdit | L’utilisateur n’a pas d’autorisation pour l’opération |
| 404 | Introuvable | La ressource n’existe pas ou n’est pas autorisée à afficher |
| 409 | Conflit | La requête est en conflit avec l'état actuel de la ressource. |
Contrôle de version d’API
Les API REST Azure DevOps sont mises en version pour garantir que les applications continuent de fonctionner à mesure que les API évoluent.
Lignes directrices
- Spécifiez toujours la version de l’API avec chaque requête (obligatoire)
- Mettre en forme les versions d’API en tant que :
{major}.{minor}ou{major}.{minor}-{stage}(par exemple,7.2,7.2-preview) - Utilisez des révisions en préversion spécifiques quand elles sont disponibles :
7.2-preview.1,7.2-preview.2 - Mettez à niveau vers les versions publiées lorsque les API de préversion sont obsolètes
Utilisation
Spécifiez la version de l’API en tant que paramètre de requête d’URL :
GET https://dev.azure.com/{organization}/_apis/projects?api-version=7.2
Ou dans l’en-tête de requête :
Accept: application/json;api-version=7.2
Pour connaître les versions prises en charge, consultez gestion des versions de l’API REST.
Plus de ressources
Pour obtenir des conseils pratiques sur l’implémentation et des exemples de code complets, consultez :
- Exemples d’API REST - Exemples complets avec l’authentification Microsoft Entra ID
- Aide sur l’authentification - Options d’authentification détaillées
- Contrôle de version de l’API REST - Informations sur le cycle de vie des API
- OAuth 2.0 - Détails de l’implémentation OAuth