Бөлісу құралы:


InvokeRESTAPI@0 . Вызов задачи REST API версии 0

Используйте эту задачу для вызова REST API в рамках конвейера.

Синтаксис

# Invoke REST API v0
# Invoke REST API as a part of your process.
- task: InvokeRESTAPI@0
  inputs:
    serviceConnection: # string. Alias: connectedServiceName. Required. Generic endpoint. 
    method: 'POST' # 'OPTIONS' | 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'TRACE' | 'PATCH'. Required. Method. Default: POST.
    #headers: # string. Headers. 
    #body: '{"JobId": "$(system.jobId)", "PlanId": "$(system.planId)", "TimelineId": "$(system.timelineId)", "ProjectId": "$(system.teamProjectId)", "VstsUrl": "$(system.CollectionUri)","AuthToken": "$(system.AccessToken)"}' # string. Optional. Use when method != GET && method != HEAD. Body. Default: {"JobId": "$(system.jobId)", "PlanId": "$(system.planId)", "TimelineId": "$(system.timelineId)", "ProjectId": "$(system.teamProjectId)", "VstsUrl": "$(system.CollectionUri)","AuthToken": "$(system.AccessToken)"}.
    #urlSuffix: # string. Url suffix string. 
  # Completion Options
    waitForCompletion: 'false' # 'true' | 'false'. Required. Complete based on. Default: false.
    #successCriteria: # string. Optional. Use when waitForCompletion = false. Success criteria.

Входные данные

serviceConnection - Универсальная конечная точка
Входной псевдоним: connectedServiceName. string. Обязательный.

Указывает универсальное подключение службы, которое предоставляет baseURL для вызова и авторизацию, используемую для задачи.


method - Метод
string. Обязательный. Допустимые значения: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE. PATCH Значение по умолчанию: POST.

Указывает метод HTTP, который вызывает API.


headers - Заголовки
string. Значение по умолчанию: {\n"Content-Type":"application/json"\n}.

Определяет заголовок в формате JSON. Заголовок присоединяется к запросу, отправленному в API.


body - Тела
string. Необязательный элемент. Используйте при method != GET && method != HEAD. Значение по умолчанию: {"JobId": "$(system.jobId)", "PlanId": "$(system.planId)", "TimelineId": "$(system.timelineId)", "ProjectId": "$(system.teamProjectId)", "VstsUrl": "$(system.CollectionUri)","AuthToken": "$(system.AccessToken)"}.

Указывает текст запроса для вызова функции в формате JSON.


urlSuffix - Строка суффикса URL
string.

Указывает строку, добавляемую в baseUrl из подключения универсальной службы при выполнении HTTP-вызова.

Пример. Если URL-адрес подключения службы — , https:...TestProj/_apis/Release/releases а URL-суффикс — /2/environments/1, URL-адрес подключения службы становится https:.../TestProj/_apis/Release/releases/2/environments/1. Если URL-суффикс имеет значение ?definitionId=1&releaseCount=1, URL-адрес подключения службы становится https//...TestProj/_apis/Release/releases?definitionId=1&releaseCount=1.


waitForCompletion - Завершено на основе
string. Обязательный. Допустимые значения: true (Обратный вызов), false (ApiResponse). Значение по умолчанию: false.

Указывает, как задача сообщает о завершении. Допустимые значения:

  • false - Ответ API: сообщает о завершении, когда функция возвращает успешное выполнение в течение 20 секунд, а критерии успешного выполнения оцениваются как true.
  • true - Обратный вызов. Сообщает о завершении, когда внешняя служба выполняет обратный вызов для обновления записи временная шкала.

successCriteria - Критерии успешности
string. Необязательный элемент. Используйте при waitForCompletion = false.

Указывает критерии успешности задачи. Содержимое ответа не влияет на результат, если критерии не определены. По умолчанию задача проходит, когда вызов возвращает 200 OK.

Пример: для ответа {"status" : "successful"}выражение может иметь значение eq(root['status'], 'successful'). Дополнительные сведения об указании условий.


Параметры управления задачами

Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задачи.

Выходные переменные

Нет.

Remarks

Примечание

Эту задачу можно использовать только в задании без агента.

Выполняется успешно, если API возвращает успешное выполнение и анализ текста ответа выполнен успешно, или когда API успешно обновляет запись временная шкала.

Задача "Вызов REST API" не выполняет действия развертывания напрямую. Вместо этого он позволяет вызывать любой универсальный REST API HTTP в составе автоматизированного конвейера и при необходимости ожидать завершения.

Настройка задачи

Дополнительные сведения об использовании этой задачи см. в статье Общие сведения об утверждениях и шлюзах.

Какие базовые URL-адреса используются при вызове API управления Azure?

API управления Azure вызываются с помощью ResourceManagerEndpoint выбранной среды. Например https://management.Azure.com , используется, когда подписка находится в среде AzureCloud .

Где задача должна сигнализировать о завершении при выборе обратного вызова в качестве события завершения?

Чтобы сообщить о завершении, внешняя служба должна получить данные о завершении POST в следующую конечную точку REST конвейеров.

{planUri}/{projectId}/_apis/distributedtask/hubs/{hubName}/plans/{planId}/events?api-version=2.0-preview.1

**Request Body**
 { "name": "TaskCompleted", "taskId": "taskInstanceId", "jobId": "jobId", "result": "succeeded" }

Дополнительные сведения см. в этом простом приложении cmdline .

Кроме того, доступна вспомогающая библиотека C# для включения динамического ведения журнала и управления состоянием задач без агента. Подробнее

Можно ли использовать текст ответа в качестве входных данных для другой задачи?

Нет, так как эта задача является задачей без агента и использует внутренний HttpRequest TFS, который не возвращает содержимое HTTP-запроса.

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Server, ServerGate
Требования None
Capabilities Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента Все поддерживаемые версии агента.
Категория задач Развертывание