La acción de API de Azure DevOps le permite llamar a cualquier API REST de Azure DevOps directamente desde sus flujos de trabajo, sin necesidad de una acción dedicada para cada operación.
Ejecutar una API de Azure DevOps
Esta acción le permite ejecutar cualquier operación documentada en la referencia de la API REST de Azure DevOps. Proporcione la organización, la ruta de la API, el método HTTP y el cuerpo de la solicitud opcional —la acción maneja la autenticación automáticamente.
Las siguientes entradas están disponibles para esta acción:
Campo de entrada | Opcionalidad | Tipo | Descripción |
|---|---|---|---|
| Requerido | Cadena | Un ID de cliente de una entidad de servicio de Azure (formato UUID). Páselo como un secreto. Vea cómo |
| Requerido | Cadena | Un clientSecret de una entidad de servicio de Azure. Páselo como un secreto. Vea cómo |
| Requerido | Cadena | El identificador de inquilino de Azure (formato UUID). Se puede pasar como un secreto. |
| Requerido | Cadena | El nombre de la organización de Azure DevOps. Ejemplo:
|
| Requerido | Cadena | La ruta de la URL para la solicitud de la API REST de Azure DevOps (longitud máxima de 1000). Ejemplo:
|
| Requerido | Cadena | Uno de [
] |
| Opcional | Mapa | Un cuerpo opcional como mapa JSON. Páselo con los métodos
,
y
cuando la solicitud requiera un cuerpo. Admite referencias secretas. |
| Opcional | Lista | Una lista de expresiones JQ para extraer valores de la respuesta. Cada selector asigna un nombre a una expresión JQ. Ejemplo:
|
Esta acción devuelve las siguientes salidas:
Campo de salida | Tipo | Descripción |
|---|---|---|
| Booleano |
|
| Cadena | Contiene el motivo del error si la acción falla. |
| Objeto |
Cada extremo de API devuelve una respuesta diferente. Consulte la referencia de la API REST de Azure DevOps. |
| Cadena | La URL para sondear las operaciones asíncronas. Lea
o
de
para hacer un seguimiento de la finalización. |
| Entero | Tiempo de espera en segundos que el servidor recomienda antes de reintentar o sondear la URL asíncrona. |
Ejemplo: obtener proyectos
- 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: GETEjemplo: crear 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.nameEjemplo: ejecutar 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: {}Ejemplo: eliminar 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