Compartir a través de


InvokeRESTAPI@0 - Invocar la tarea de la API de REST v0

Use esta tarea para invocar una API de REST como parte de la canalización.

Sintaxis

# 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.

Entradas

serviceConnection - Punto de conexión genérico
Alias de entrada: connectedServiceName. string. Obligatorio.

Especifica la conexión de servicio genérica que proporciona la baseURL llamada y la autorización que se va a utilizar para la tarea.


del método method -
string. Obligatorio. Valores permitidos: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, PATCH. Valor predeterminado: POST.

Especifica el método HTTP que invoca la API.


headers - encabezados
string. Valor predeterminado: {\n"Content-Type":"application/json"\n}.

Define el encabezado en formato JSON. El encabezado se adjunta con la solicitud enviada a la API.


cuerpo de body -
string. Opcional. Use cuando method != GET && method != HEAD. Valor predeterminado: {"JobId": "$(system.jobId)", "PlanId": "$(system.planId)", "TimelineId": "$(system.timelineId)", "ProjectId": "$(system.teamProjectId)", "VstsUrl": "$(system.CollectionUri)","AuthToken": "$(system.AccessToken)"}.

Especifica el cuerpo de la solicitud para la llamada a la función en formato JSON.


urlSuffix - Cadena de sufijo de URL
string.

Especifica la cadena que se va a anexar a baseUrl desde la conexión de servicio genérico al realizar la llamada HTTP.

Ejemplo: Si la URL de conexión de servicio es https:...TestProj/_apis/Release/releases y el sufijo de URL es /2/environments/1, la URL de conexión de servicio se convierte en https:.../TestProj/_apis/Release/releases/2/environments/1. Si el sufijo de la URL es ?definitionId=1&releaseCount=1, la URL de la conexión del servicio se convierte en https//...TestProj/_apis/Release/releases?definitionId=1&releaseCount=1.


waitForCompletion - Completado en función de
string. Obligatorio. Valores permitidos: true (devolución de llamada), false (ApiResponse). Valor predeterminado: false.

Especifica cómo la tarea notifica su finalización. Los valores permitidos son:

  • false - Respuesta de la API: informa de la finalización cuando la función devuelve un resultado correcto en 20 segundos y los criterios de éxito se evalúan como verdaderos.
  • true - Devolución de llamada: Informa de la finalización cuando el servicio externo realiza una devolución de llamada para actualizar el registro de la escala de tiempo.

successCriteria - criterios de éxito
string. Opcional. Use cuando waitForCompletion = false.

Especifica los criterios de éxito de la tarea. El contenido de la respuesta no influye en el resultado si no se define ningún criterio. De forma predeterminada, la tarea pasa cuando se devuelve 200 OKla llamada .

Ejemplo: para la {"status" : "successful"}de respuesta, la expresión puede ser eq(root['status'], 'successful'). Obtenga más información sobre cómo especificar condiciones.


Opciones de control de tareas

Todas las tareas tienen opciones de control además de sus entradas de tarea. Para obtener más información, consulte Opciones de control y propiedades de tareas comunes.

Variables de salida

Ninguno.

Observaciones

Nota:

Esta tarea solo se puede utilizar en un trabajo sin agente.

Se realiza correctamente si la API devuelve correctamente y el análisis del cuerpo de la respuesta se realiza correctamente, o cuando la API actualiza el registro de la escala de tiempo con éxito.

La tarea Invocar API de REST no realiza acciones de implementación directamente. En su lugar, le permite invocar cualquier API REST HTTP genérica como parte de la canalización automatizada y, opcionalmente, esperar a que se complete.

Configuración de una tarea de invocación de API de REST

Para obtener más información sobre el uso de esta tarea, consulte Introducción a las aprobaciones y puertas.

¿Qué direcciones URL base se usan al invocar las API de administración de Azure?

Las API de administración de Azure se invocan mediante ResourceManagerEndpoint del entorno seleccionado. Por ejemplo, https://management.Azure.com se usa cuando la suscripción se encuentra en un entorno de AzureCloud .

¿Dónde debe elegirse la finalización de una señal de tarea al devolución de llamada como evento de finalización?

Para indicar la finalización, el servicio externo debe publicar los datos de finalización en el siguiente punto de conexión REST de canalizaciones.

{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" }

Consulte esta sencilla de aplicación cmdline para obtener información específica.

Además, hay disponible una biblioteca auxiliar de C# para habilitar el registro en directo y administrar el estado de la tarea para las tareas sin agente. Aprende más

¿Puedo usar el cuerpo de la respuesta como entrada para otra tarea?

No, ya que esta tarea es una tarea sin agente y usa el HttpRequest interno de TFS, que no devuelve el contenido de la solicitud HTTP.

Requisitos

Requisito Descripción
Tipos de canalización YAML, compilación clásica, versión clásica
Se ejecuta en Servidor, ServerGate
demandas Ninguno
Capacidades Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo.
restricciones de comandos Cualquiera
variables settable Cualquiera
Versión del agente Todas las versiones de agente admitidas.
Categoría de tarea Desplegar