Skip to content Skip to sidebar Skip to footer

azure devops rest api example

Пример использования Azure DevOps REST API

Azure DevOps предоставляет мощный набор REST API, который позволяет автоматизировать и интегрировать различные процессы управления проектами. В этой статье рассмотрим пример использования Azure DevOps REST API для получения информации о задачах из Azure Boards.

Подготовка к работе с API

Для работы с Azure DevOps REST API необходимо иметь доступ к определенным ресурсам в вашем проекте. Убедитесь, что у вас есть личный токен доступа (PAT), который можно получить через настройки пользователя в Azure DevOps.

Получение списка задач

Для начала создадим запрос к API для получения списка задач из определенной области работы. Вот пример кода на Python, который демонстрирует этот процесс:

«`python
import requests

Замените эти значения на свои
organization = ‘your_organization’
project = ‘your_project’
area_path = ‘Your Area Path’
pat_token = ‘your_pat_token’

Формируем URL для запроса
url = fhttps://dev.azure.com/{organization}/{project}/_apis/work/items?api-version=6.0&$filter=System.AreaPath eq ‘{area_path}’

Устанавливаем заголовки
headers = {
‘Authorization’: f’Basic {pat_token}’,
‘Content-Type’: ‘application/json’
}

Отправляем GET-запрос
response = requests.get(url, headers=headers)

Проверяем статус ответа
if response.status_code == 200:
tasks = response.json()
for task in tasks[‘value’]:
print(fID: {task[‘id’]}, Название: {task[‘fields’][‘System.Title’]})
else:
print(Ошибка:, response.status_code, response.text)
«`

Создание новой задачи

Теперь рассмотрим пример создания новой задачи. Мы будем использовать POST-запрос для добавления задачи в область работы.

«`python
import json

Замените эти значения на свои
organization = ‘your_organization’
project = ‘your_project’
area_path = ‘Your Area Path’
pat_token = ‘your_pat_token’

Формируем URL для запроса
url = fhttps://dev.azure.com/{organization}/{project}/_apis/wit/workitems/$task?api-version=6.0

Устанавливаем заголовки
headers = {
‘Authorization’: f’Basic {pat_token}’,
‘Content-Type’: ‘application/json-patch+json’
}

Формируем тело запроса
data = [
{
op: add,
path: /fields/System.Title,
value: Новая задача
},
{
op: add,
path: /fields/System.AreaPath,
value: area_path
}
]

Отправляем POST-запрос
response = requests.post(url, headers=headers, data=json.dumps(data))

Проверяем статус ответа
if response.status_code == 200:
new_task_id = response.json()[‘id’]
print(fНовая задача создана с ID: {new_task_id})
else:
print(Ошибка:, response.status_code, response.text)
«`

Обновление задачи

Если необходимо обновить данные существующей задачи, можно использовать PATCH-запрос. Вот пример изменения названия задачи:

«`python
Замените эти значения на свои
task_id = 12345 ID задачи для обновления

Формируем URL для запроса
url = fhttps://dev.azure.com/{organization}/{project}/_apis/wit/workitems/{task_id}?api-version=6.0

Устанавливаем заголовки
headers = {
‘Authorization’: f’Basic {pat_token}’,
‘Content-Type’: ‘application/json-patch+json’
}

Формируем тело запроса
data = [
{
op: replace,
path: /fields/System.Title,
value: Обновленное название задачи
}
]

Отправляем PATCH-запрос
response = requests.patch(url, headers=headers, data=json.dumps(data))

Проверяем статус ответа
if response.status_code == 200:
print(Задача успешно обновлена)
else:
print(Ошибка:, response.status_code, response.text)
«`

Заключение

Azure DevOps REST API предоставляет гибкие возможности для автоматизации и интеграции процессов управления проектами. В приведенных примерах мы рассмотрели основные операции с задачами: получение списка, создание новой задачи и обновление существующей. Использование API позволяет значительно расширить функциональность Azure DevOps и интегрировать его с другими системами и сервисами.