Cách sử dụng Azure DevOps API để có được tổng thời gian xây dựng (trong vài phút) cho nhóm đại lý xây dựng. Nếu bạn cần quay lại từ tác nhân đã mua về phiên bản miễn phí, hướng dẫn này sẽ giúp bạn.
Azure DevOps là một nền tảng phổ biến để quản lý các quy trình phát triển phần mềm. Với API REST của nó, các nhà phát triển có thể tương tác với nền tảng theo chương trình và tự động hóa các tác vụ như quản lý xây dựng và phát hành. trong hướng dẫn này, chúng tôi sẽ trình bày cách sử dụng Azure DevOps API để biết tổng thời gian xây dựng (trong vài phút) cho một nhóm đại lý xây dựng trong một phạm vi ngày được chỉ định. Chúng tôi sẽ cung cấp hướng dẫn từng bước và sử dụng Python để thực hiện các yêu cầu API.
bước:
- Nhận một Azure DevOps Mã thông báo truy cập cá nhân (PAT) Trước khi chúng ta bắt đầu, chúng ta cần lấy Azure DevOps PAT, mà chúng tôi sẽ sử dụng để xác thực các yêu cầu API của mình. Để tạo PAT, đi tới cài đặt tổ chức Azure DevOps của bạn và nhấp vào “Mã thông báo truy cập cá nhân”. Làm theo hướng dẫn để tạo mã thông báo mới với “Xây dựng (đọc)” phạm vi.
- Thiết lập môi trường Python Chúng tôi sẽ sử dụng Python để thực hiện các yêu cầu API của mình. Nếu bạn chưa cài đặt Python, bạn có thể tải xuống từ trang web chính thức (https://www.python.org/downloads/). Chúng tôi cũng khuyên bạn nên sử dụng môi trường ảo để quản lý các phần phụ thuộc Python của mình. Để thiết lập một môi trường ảo, chạy các lệnh sau trong thiết bị đầu cuối của bạn:
pip install virtualenv
virtualenv venv
source venv/bin/activate
- Cài đặt thư viện yêu cầu Chúng tôi sẽ sử dụng
requests
thư viện để thực hiện các yêu cầu API của chúng tôi. Để cài đặt nó, chạy lệnh sau:
pip install requests
- Xác định điểm cuối API Điểm cuối API chúng tôi sẽ sử dụng là:
https://{username}:{pat}@dev.azure.com/{organization}/{project}/_apis/build/builds?api-version=7.0
Thay thế {username}
, {pat}
,{organization}
Và {project}
với tên tổ chức và dự án thực tế của bạn.
- Thực hiện yêu cầu API Để nhận tổng thời gian xây dựng cho nhóm tác nhân xây dựng trong phạm vi ngày được chỉ định, chúng ta cần sử dụng
minTime
VàmaxTime
tham số truy vấn trong yêu cầu API của chúng tôi. Chúng tôi cũng cần lọc kết quả xây dựng theo nhóm tác nhân xây dựng. Dưới đây là một tập lệnh Python mẫu thực hiện yêu cầu API và tính toán tổng thời gian xây dựng (trong vài phút):
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")
Ví dụ đầu ra:
Number of build runs: 35
Total build time: 122.19 minutes