Cómo usar la API de Azure DevOps para obtener el tiempo total de compilación (en minutos) para un grupo de agentes de compilación. Si necesita volver del agente comprado a la versión gratuita, esta guía te ayudará.
Azure DevOps es una plataforma popular para administrar procesos de desarrollo de software. Con su API REST, los desarrolladores pueden interactuar con la plataforma mediante programación y automatizar tareas como la gestión de compilación y lanzamiento. En este tutorial, demostraremos cómo usar la API de Azure DevOps para obtener el tiempo de compilación total (en minutos) para un grupo de agentes de compilación dentro de un intervalo de fechas especificado. Proporcionaremos instrucciones paso a paso y usaremos Python para realizar solicitudes de API.
Pasos:
- Consigue un Azure DevOps Token de acceso personal (PALMADITA) Antes que empecemos, necesitamos obtener un PAT de Azure DevOps, que usaremos para autenticar nuestras solicitudes de API. Para crear un PAT, vaya a la configuración de su organización de Azure DevOps y haga clic en “Fichas de acceso personal”. Siga las instrucciones para crear un nuevo token con el “Construir (leer)” alcance.
- Configurar un entorno de Python Usaremos Python para realizar nuestras solicitudes de API. Si no tienes Python instalado, puedes descargarlo desde el sitio web oficial (https://www.python.org/downloads/). También recomendamos utilizar un entorno virtual para gestionar sus dependencias de Python.. Para configurar un entorno virtual, ejecuta los siguientes comandos en tu terminal:
pip install virtualenv
virtualenv venv
source venv/bin/activate
- Instale la biblioteca de solicitudes. Usaremos el
requests
biblioteca para realizar nuestras solicitudes de API. para instalarlo, ejecuta el siguiente comando:
pip install requests
- Definir el punto final de API El punto final de API que usaremos es:
https://{username}:{pat}@dev.azure.com/{organization}/{project}/_apis/build/builds?api-version=7.0
Reemplazar {username}
, {pat}
,{organization}
y {project}
con su organización real y los nombres de los proyectos.
- Realice la solicitud de API para obtener el tiempo total de compilación para un grupo de agentes de compilación dentro de un rango de fechas específico., necesitamos usar el
minTime
ymaxTime
parámetros de consulta en nuestra solicitud API. También necesitamos filtrar los resultados de la compilación por el grupo de agentes de compilación.. A continuación se muestra un script de Python de ejemplo que realiza la solicitud de API y calcula el tiempo total de compilación. (en minutos):
pip install python-dateutil requests
import requests
from dateutil.parser import parse
# Set up variables for the API request
organization = "<Organization Name>"
project = "Project Name"
queue_id = "9"
min_time = "2023-04-01"
max_time = "2023-04-05"
# you can leave username as user
username = "user"
pat = "<PAT>"
# Construct the API URL
url = f"https://{username}:{pat}@dev.azure.com/{organization}/{project}/_apis/build/builds?api-version=7.0&minTime={min_time}&maxTime={max_time}&$filter=queue.id eq {queue_id}&$orderby=startTime asc"
# Send the API request
response = requests.get(url)
# Parse the response JSON
json_response = response.json()
# Retrieve the count of build runs
count = json_response["count"]
# Calculate the total build time in seconds
total_build_time = 0
for build in json_response["value"]:
start_time = parse(build["startTime"])
finish_time = parse(build["finishTime"])
duration = finish_time - start_time
total_build_time += duration.total_seconds()
# Convert the total build time to minutes
total_build_time_minutes = total_build_time / 60
print(f"Number of build runs: {count}")
print(f"Total build time: {total_build_time_minutes:.2f} minutes")
Ejemplo de salida:
Number of build runs: 35
Total build time: 122.19 minutes