Поделиться через


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 - обратного вызова: сообщает о завершении, когда внешняя служба выполняет обратный вызов для обновления записи временной шкалы.

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

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

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


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

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

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

Нет.

Замечания

Примечание.

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

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

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

настройка задачи REST API вызова

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

Какие базовые 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, классическая сборка, классический выпуск
Выполняется в Сервер, ServerGate
требования Нет
возможностей Эта задача не удовлетворяет требованиям к последующим задачам в задании.
ограничения команд Любое
переменные settable Любое
Версия агента Все поддерживаемые версии агента.
Категория задач Внедрять