Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Сервисы Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022
Azure DevOps REST API обеспечивают мощный программный доступ к рабочим элементам, репозиториям, сборкам, выпускам и т. д. Независимо от того, создаете ли вы пользовательские интеграции, автоматизаете рабочие процессы или расширяете возможности Azure DevOps, понимание основных шаблонов и концепций является важным для успешной реализации.
Подсказка
Готово к написанию кода? Перейдите к примерам REST API для выполнения полных рабочих примеров с современными шаблонами проверки подлинности.
В этой статье рассматриваются основные понятия и шаблоны для Azure DevOps REST API. Примеры практической реализации см. в примерах REST API.
Подсказка
Вы можете использовать ИИ, чтобы помочь с этой задачей позже в этой статье или ознакомиться с включение помощи ИИ в Azure DevOps MCP Server, чтобы начать работу.
Структура URL-адресов
API следуют общему шаблону, как показано в следующем примере:
VERB https://{instance}/{collection}/{team-project}/_apis/{area}/{resource}?api-version={version}
Подсказка
По мере развития API рекомендуется включить версию API в каждый запрос. Эта практика поможет избежать непредвиденных изменений в API, которые могут нарушиться.
Для служб Azure DevOps instance имеет значение dev.azure.com/{organization} и collection имеет значение DefaultCollection, поэтому шаблон выглядит следующим образом:
VERB https://dev.azure.com/{organization}/_apis/{area}/{resource}?api-version={version}
Пример конечной точки:
GET https://dev.azure.com/{organization}/_apis/projects?api-version=7.2
Аутентификация
Azure DevOps REST API поддерживают несколько методов проверки подлинности:
- Microsoft Entra ID — рекомендуется для рабочих приложений
- Личные маркеры доступа (PATs) — простая проверка подлинности для сценариев и тестирования
- OAuth 2.0 — для приложений, отличных от Майкрософт
- Принципы обслуживания — для автоматизированных сценариев
Это важно
Рассмотрите возможность использования более безопасных токенов Microsoft Entra вместо более рискованных персональных токенов доступа. Дополнительные сведения см. в разделе "Сокращение использования PAT". Просмотрите рекомендации по проверке подлинности , чтобы выбрать правильный механизм проверки подлинности для ваших потребностей.
Формат ответа
Azure DevOps REST API обычно возвращают ответы JSON. Ниже приведен пример структуры ответов:
{
"value": [
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "Fabrikam-Fiber-TFVC",
"url": "https://dev.azure.com/fabrikam-fiber-inc/_apis/projects/00000000-0000-0000-0000-000000000000",
"description": "Team Foundation Version Control projects"
}
],
"count": 1
}
Ответ JSON, который обычно возвращается из ИНТЕРФЕЙСов REST API, хотя существует несколько исключений, например BLOB-объектов Git.
Подсказка
Полные рабочие примеры, демонстрирующие анализ этих ответов, см. в примерах REST API.
Методы и операции HTTP
Azure DevOps REST API используют стандартные методы HTTP:
| Метод | Используется для... | Пример |
|---|---|---|
| ПОЛУЧАЙ | Получите ресурс или список ресурсов | Получить проекты, рабочие элементы |
| ПОСТ | Создание ресурса или получение ресурсов с помощью расширенных запросов | Создание рабочих элементов, запрос рабочих элементов |
| ПОСТАВИТЬ | Создание или полная замена ресурса | Замена определения сборки, обновление политики |
| ПАТЧ | Обновление определенных полей ресурса | Обновление полей рабочего элемента |
| Удалить | Удаление ресурса | Удаление рабочего элемента |
Подсказка
Практические примеры каждого метода HTTP с полными примерами кода см. в примерах REST API.
Заголовки запросов и содержимое
Если вы предоставляете текст запроса (обычно с POST, PUT и PATCH), включите соответствующие заголовки:
Content-Type: application/json
Для операций PATCH с рабочими элементами используйте:
Content-Type: application/json-patch+json
Переопределение метода HTTP
Некоторые веб-прокси могут поддерживать только HTTP-команды GET и POST, но не более современные HTTP-команды, такие как PATCH и DELETE.
Если вызовы могут проходить через один из этих прокси-серверов, можно отправить фактическую команду с помощью метода POST с заголовком для переопределения метода.
Например, может потребоваться обновить рабочий элемент (PATCH _apis/wit/workitems/3), но может потребоваться пройти через прокси-сервер, который разрешает только GET или POST.
Вы можете передать соответствующую команду (PATCH в этом случае) в качестве параметра заголовка HTTP-запроса и использовать POST в качестве фактического метода HTTP.
POST https://dev.azure.com/fabrikam-fiber-inc/_apis/wit/workitems/3
X-HTTP-Method-Override: PATCH
{
(PATCH request body)
}
Коды ответа
Общие сведения о кодах ответов HTTP помогают правильно обрабатывать ответы API:
| Ответ | Значение | Примечания. |
|---|---|---|
| 200 | Успех | Текст ответа содержит запрошенные данные |
| 201 | Создано | Ресурс успешно создан |
| 204 | Успех | Текст ответа не указан (общий для DELETE) |
| 400 | ошибка запроса | Недопустимые параметры или текст запроса |
| 401 | Не авторизовано | Сбой аутентификации или её отсутствие |
| 403 | Запрещено | Пользователь не имеет разрешения на операцию |
| 404 | Не найдено | Ресурс не существует или нет разрешения на просмотр |
| 409 | Конфликт | Конфликты запросов с текущим состоянием ресурса |
Управление версиями API
Azure DevOps REST API версионируются, чтобы приложения продолжали работать по мере развития API.
Руководящие принципы
- Всегда указывайте версию API с каждым запросом (обязательным)
- Форматирование версий API следующим образом:
{major}.{minor}или{major}.{minor}-{stage}(например,7.2)7.2-preview - Используйте определенные предварительные версии при наличии:
7.2-preview.17.2-preview.2 - Обновление до выпущенных версий, когда предварительные API устаревают
Использование
Укажите версию API в качестве параметра запроса URL-адреса:
GET https://dev.azure.com/{organization}/_apis/projects?api-version=7.2
Или в заголовке запроса:
Accept: application/json;api-version=7.2
Сведения о поддерживаемых версиях см. в разделе "Управление версиями REST API".
Дополнительные ресурсы
Инструкции по практической реализации и полные примеры кода см. в следующих примерах:
- примеры API REST — полные примеры проверки подлинности Microsoft Entra ID
- Руководство по проверке подлинности . Подробные параметры проверки подлинности
- Управление версиями REST API — сведения о жизненном цикле API
- OAuth 2.0 — сведения о реализации OAuth
Использование ИИ для создания вызовов REST API
Если у вас есть Azure DevOps MCP Server подключен к агенту ИИ в режиме агента, можно использовать запросы естественного языка для создания и устранения неполадок вызовов REST API.
| задачи | Пример запроса |
|---|---|
| Создание запроса GET | Show me how to construct a GET request to list all projects in my Azure DevOps organization using the REST API |
| Создание тела POST-запроса | Generate the JSON-patch body for creating a work item using the Azure DevOps REST API |
| Управление аутентификацией | Write C# code to call the Azure DevOps REST API with a Bearer token from Microsoft Entra ID |
| Изучение областей API | What Azure DevOps REST API endpoints are available for managing Git pull requests? |
| Синтаксический анализ ответов API | Show me how to deserialize an Azure DevOps REST API response into C# objects and handle pagination with continuation tokens |
| Отладка ошибок API | I'm getting a 400 error when calling the Azure DevOps work item update API — help me understand the correct PATCH format |
Замечание
Режим агента и сервер MCP используют естественный язык, чтобы настроить эти запросы или задать дальнейшие вопросы, чтобы уточнить результаты.