Come usare l'API di Azure DevOps per ottenere il tempo di compilazione totale (in Minuti) per un pool di agenti di compilazione. Se è necessario eseguire il rollback dall'agente acquistato alla versione gratuita, questa guida ti aiuterà.
Azure DevOps è una piattaforma popolare per la gestione dei processi di sviluppo software. Con la sua API REST, gli sviluppatori possono interagire con la piattaforma in modo programmatico e automatizzare attività come la gestione di build e release. In questo tutorial, dimostreremo come usare l'API di Azure DevOps per ottenere il tempo di compilazione totale (in minuti) per un pool di build agent all'interno di un intervallo di date specificato. Forniremo istruzioni dettagliate e utilizzeremo Python per effettuare richieste API.
Passi:
- Ottieni un Azure DevOps Token di accesso personale (COLPETTO) Prima di iniziare, è necessario ottenere un Azure DevOps PAT, che useremo per autenticare le nostre richieste API. Per creare un PAT, vai alle impostazioni della tua organizzazione Azure DevOps e fai clic su “Token di accesso personale”. Segui le istruzioni per creare un nuovo token con il “Costruire (Leggere)” scopo.
- Impostare un ambiente Python Useremo Python per effettuare le nostre richieste API. Se non hai installato Python, puoi scaricarlo dal sito ufficiale (https://www.python.org/downloads/). Ti consigliamo inoltre di utilizzare un ambiente virtuale per gestire le tue dipendenze Python. Per creare un ambiente virtuale, eseguire i seguenti comandi nel tuo terminale:
pip install virtualenv
virtualenv venv
source venv/bin/activate
- Installa la libreria delle richieste Utilizzeremo il file
requests
libreria per effettuare le nostre richieste API. Per installarlo, eseguire il seguente comando:
pip install requests
- Definire l'endpoint API L'endpoint API che utilizzeremo è:
https://{username}:{pat}@dev.azure.com/{organization}/{project}/_apis/build/builds?api-version=7.0
Sostituire {username}
, {pat}
,{organization}
E {project}
con la tua organizzazione effettiva e i nomi dei progetti.
- Effettua la richiesta API Per ottenere il tempo di compilazione totale per un pool di agenti di compilazione entro un intervallo di date specificato, dobbiamo usare il
minTime
EmaxTime
parametri di query nella nostra richiesta API. Dobbiamo anche filtrare i risultati della build in base al pool di agenti di build. Ecco uno script Python di esempio che effettua la richiesta API e calcola il tempo di compilazione totale (in minuti):
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")
Esempio di uscita:
Number of build runs: 35
Total build time: 122.19 minutes