Toplam Derleme Süresini Almak için Azure DevOps API'sini Kullanma (dakikalar içinde) Yapı Aracısı Havuzu için. Satın alınan aracıdan ücretsiz sürüme geri dönmeniz gerekirse, bu rehber size yardımcı olacaktır.
Azure DevOps, yazılım geliştirme süreçlerini yönetmek için popüler bir platformdur. REST API'si ile, geliştiriciler platformla programatik olarak etkileşime girebilir ve oluşturma ve yayınlama yönetimi gibi görevleri otomatikleştirebilir. Bu eğitimde, toplam derleme süresini elde etmek için Azure DevOps API'sinin nasıl kullanılacağını göstereceğiz (dakikalar içinde) belirli bir tarih aralığındaki yapı aracısı havuzu için. Adım adım talimatlar sağlayacağız ve API istekleri yapmak için Python kullanacağız.
Adımlar:
- Bir al Azure DevOps Kişisel Erişim Jetonu (PAT) Başlamadan önce, bir Azure DevOps PAT almamız gerekiyor, API isteklerimizi doğrulamak için kullanacağımız. PAT oluşturmak için, Azure DevOps kuruluş ayarlarınıza gidin ve tıklayın “Kişisel erişim belirteçleri”. ile yeni bir jeton oluşturmak için talimatları izleyin. “İnşa etmek (Okumak)” kapsam.
- Python ortamı kurun API isteklerimizi yapmak için Python'u kullanacağız. Python yüklü değilse, resmi web sitesinden indirebilirsiniz (https://www.python.org/downloads/). Python bağımlılıklarınızı yönetmek için sanal bir ortam kullanmanızı da öneririz.. Sanal ortam kurmak için, aşağıdaki komutları çalıştırın terminalinizde:
pip install virtualenv
virtualenv venv
source venv/bin/activate
- İstek kitaplığını yükleyin Kullanacağız
requests
API isteklerimizi yapmak için kütüphane. Yüklemek için, aşağıdaki komutu çalıştırın:
pip install requests
- API uç noktasını tanımlayın Kullanacağımız API uç noktası::
https://{username}:{pat}@dev.azure.com/{organization}/{project}/_apis/build/builds?api-version=7.0
Yer değiştirmek {username}
, {pat}
,{organization}
Ve {project}
gerçek organizasyonunuz ve proje adlarınızla.
- API isteğinde bulunun Belirli bir tarih aralığında bir yapı aracısı havuzunun toplam derleme süresini almak için, kullanmamız gerekiyor
minTime
VemaxTime
API isteğimizdeki sorgu parametreleri. Ayrıca derleme sonuçlarını yapı aracısı havuzuna göre filtrelememiz gerekir.. Aşağıda API isteğinde bulunan ve toplam derleme süresini hesaplayan örnek bir Python betiği verilmiştir. (dakikalar içinde):
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")
Çıkış örneği:
Number of build runs: 35
Total build time: 122.19 minutes