L’action Azure DevOps API vous permet d’appeler n’importe quelle API REST Azure DevOps directement depuis vos workflows, sans nécessiter d’action dédiée pour chaque opération.
Exécuter une API Azure DevOps
Cette action vous permet d’exécuter toute opération documentée dans la référence de l’API REST Azure DevOps. Indiquez l'organisation, le chemin de l'API, la méthode HTTP, et le corps de la requête facultatif : l'action gère automatiquement l'authentification.
Les entrées suivantes sont disponibles pour cette action :
Champ de saisie | optionnalité | Type | Description |
|---|---|---|---|
| Requis | Chaîne | Un clientId de principal de service Azure (format UUID). Transmettez en tant que secret. Voir comment |
| Requis | Chaîne | Un clientSecret de principal de service Azure. Passer en tant que secret. Voir comment |
| Requis | Chaîne | L’identifiant de locataire Azure (format UUID). Vous pouvez le transmettre en tant que secret. |
| Requis | Chaîne | Le nom de l’organisation Azure DevOps. Exemple :
|
| Requis | Chaîne | Le chemin de l’URL pour la requête d’ (longueur maximale 1000). Exemple :
|
| Requis | Chaîne | Un de [
] |
| Facultatif | Carte | Un corps facultatif sous forme de map JSON. Passez-le avec les méthodes
,
, et
lorsque la requête nécessite un corps. Prend en charge les références secrètes. |
| Facultatif | List | Une liste d'expressions JQ pour extraire des valeurs de la réponse. Chaque sélecteur associe un nom à une expression JQ. Exemple :
|
Cette action renvoie les sorties suivantes :
Champ de sortie | Type | Description |
|---|---|---|
| Booléen |
|
| Chaîne | Contient la raison de l’échec si l’action échoue. |
| Objet |
Chaque point de terminaison d’API retourne une réponse différente. Consultez la référence de l’API REST Azure DevOps. |
| Chaîne | L’URL à interroger pour les opérations asynchrones. Lisez
ou
à partir de
pour suivre l’achèvement. |
| Entier | Temps d’attente en secondes que le serveur recommande avant de réessayer ou d’interroger l’URL asynchrone. |
Exemple : obtenir les projets
- name: getProjects type: action action: azure.devops.api version: 1 inputs: clientId: ${{ :secrets:azure-client-id }} clientSecret: ${{ :secrets:azure-client-secret }} tenantId: ${{ :secrets:azure-client-tenant }} organization: ${{ :secrets:organization }} urlPath: _apis/projects method: GETExemple : créer un pipeline
- name: createPipeline type: action action: azure.devops.api version: 1 inputs: clientId: ${{ :secrets:azure-client-id }} clientSecret: ${{ :secrets:azure-client-secret }} tenantId: ${{ :secrets:azure-client-tenant }} organization: ${{ :secrets:organization }} urlPath: myProject/_apis/pipelines?api-version=7.1 method: POST body: name: testPipeline folder: \ configuration: type: yaml path: pipelineConfig.yml repository: id: 1a8bcfa4-1412-4b3b-af36-4ff1aa5860a1 name: testRepository type: azureReposGit selectors: - name: pipelineId expression: .response.id - name: pipelineName expression: .response.nameExemple : exécuter un pipeline
- name: runPipeline type: action action: azure.devops.api version: 1 inputs: clientId: ${{ :secrets:azure-client-id }} clientSecret: ${{ :secrets:azure-client-secret }} tenantId: ${{ :secrets:azure-client-tenant }} organization: ${{ :secrets:organization }} urlPath: myProject/_apis/pipelines/1/runs?api-version=7.1-preview.1 method: POST body: resources: {} variables: {}Exemple : supprimer un pipeline
- name: deletePipeline type: action action: azure.devops.api version: 1 inputs: clientId: ${{ :secrets:azure-client-id }} clientSecret: ${{ :secrets:azure-client-secret }} tenantId: ${{ :secrets:azure-client-tenant }} organization: ${{ :secrets:organization }} urlPath: myProject/_apis/build/definitions/1?api-version=7.1-preview.7 method: DELETE