Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 OK
la 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.
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 |