Creación de una nueva compilación de Azure DevOps y actualización de sus variables con la API REST.
Azure DevOps es un conjunto integral de herramientas y servicios de desarrollo diseñado para ayudar a los equipos a crear y enviar software de manera más rápida y eficiente.. Una de las características clave de Azure DevOps es su sistema de compilación, que permite a los equipos automatizar la construcción, prueba, y el proceso de implementación de su software.
En este articulo, exploraremos cómo crear una nueva compilación de Azure DevOps y actualizar sus variables mediante la API REST. Usaremos un fragmento de código de muestra que demuestra cómo crear una nueva compilación usando cURL, pero puede usar cualquier lenguaje de programación que admita llamadas API REST.
El primer paso para crear una nueva compilación de Azure DevOps es definir sus propiedades., como la definición de compilación y los parámetros de compilación. La definición de compilación define los pasos de compilación, que puede incluir tareas como compilar código, ejecutando pruebas, y creando artefactos. Los parámetros de compilación son variables que se utilizan en los pasos de compilación para personalizar el proceso de compilación..
Para crear una nueva compilación usando la API REST, debe enviar una solicitud POST al Punto final de la API de Azure DevOps que crea compilaciones. El siguiente fragmento de código demuestra cómo crear una nueva compilación usando cURL:
curl -X POST "https://dev.azure.com/{organization}/{project}/_apis/build/builds?api-version=7.0" \
-H "Content-Type: application/json" \
-d '{
"definition": {
"id": {definition_id}
},
"parameters": "{\"{parameter_name}\":\"{parameter_value}\"}"
}'
Ejemplo de trabajo con PAT:
curl -X POST "https://{username}:{PAT}@dev.azure.com/{organization}/{project}/_apis/build/builds?api-version=7.0" \
-H "Content-Type: application/json" \
-d '{
"definition": {
"id": {definition_id}
},
"parameters": "{\"{parameter_name}\":\"{parameter_value}\"}"
}'
Analicemos este fragmento de código:
- El
-X POST
El indicador especifica que queremos enviar una solicitud POST.. - El punto final API para crear compilaciones es https://dev.azure.com/{organización}/{proyecto}/_apis/build/compilaciones?versión-api=7.0, dónde {organización} es el nombre de tu Azure DevOps organización y {proyecto} es el nombre de tu proyecto. El
api-version
El parámetro especifica la versión de la API que queremos usar.. - El
-H "Content-Type: application/json"
El indicador especifica que estamos enviando datos JSON en el cuerpo de la solicitud.. - El cuerpo de la solicitud es un objeto JSON que contiene las siguientes propiedades:
definition
: un objeto que especifica la definición de compilación. Elid
La propiedad especifica el ID de la definición de compilación..parameters
: una cadena con formato JSON que especifica los parámetros de compilación. El{parameter_name}
y{parameter_value}
Los marcadores de posición deben reemplazarse con el nombre y valor del parámetro real., respectivamente.
En el fragmento de código de ejemplo, Estamos creando una nueva compilación utilizando la definición de compilación con ID. 15 y actualizando su NUMBER_OF_WORKERS
parámetro con el valor de una variable 2_NUMBER_OF_WORKERS
, que se puede reemplazar con un valor real en tiempo de ejecución. También estamos fijando el NUMBER_OF_WORKERS2
parámetro a un valor estático de 5.
Para actualizar una variable de compilación usando la API REST, debe enviar una solicitud PATCH al punto final API que actualiza las variables de compilación. El siguiente fragmento de código demuestra cómo actualizar una variable de compilación usando cURL:
curl -X PATCH "https://dev.azure.com/{organization}/{project}/_apis/build/builds/{build_id}/variables?api-version=7.0" \
-H "Content-Type: application/json" \
-d '{
"variables": {
"{variable_name}": {
"value": "{new_value}"
}
}
}'
Analicemos este fragmento de código:
- El
-X PATCH
El indicador especifica que queremos enviar una solicitud PATCH.. - El punto final de API para actualizar las variables de compilación es `https://dev.azure.com/{organización}/{proyecto}/_apis/build/builds/{id_compilación}/variables?versión-api=7.0