Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Use esta tarefa para invocar uma API REST como parte do seu pipeline.
Sintaxe
# Invoke REST API v1
# Invoke a REST API as a part of your pipeline.
- task: InvokeRESTAPI@1
inputs:
connectionType: 'connectedServiceName' # 'connectedServiceName' | 'connectedServiceNameARM'. Alias: connectedServiceNameSelector. Required. Connection type. Default: connectedServiceName.
serviceConnection: # string. Alias: connectedServiceName | genericService. Required when connectedServiceNameSelector = connectedServiceName. Generic service connection.
#azureServiceConnection: # string. Alias: connectedServiceNameARM | azureSubscription. Required when connectedServiceNameSelector = connectedServiceNameARM. Azure subscription.
method: 'POST' # 'OPTIONS' | 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'TRACE' | 'PATCH'. Required. Method. Default: POST.
#headers: # string. Headers.
#body: # string. Optional. Use when method != GET && method != HEAD. Body.
#urlSuffix: # string. URL suffix and parameters.
# Advanced
waitForCompletion: 'false' # 'true' | 'false'. Required. Completion event. Default: false.
#successCriteria: # string. Optional. Use when waitForCompletion = false. Success criteria.
Insumos
connectionType
-
Tipo de conexão
Alias de entrada: connectedServiceNameSelector.
string. Obrigatório. Valores permitidos: connectedServiceName (genérico), connectedServiceNameARM (Azure Resource Manager). Valor padrão: connectedServiceName.
Especifica o tipo de conexão de serviço a ser usado para invocar a API REST. Selecione do Azure Resource Manager para invocar uma API de gerenciamento do Azure ou Genérico para todas as outras APIs.
serviceConnection
-
de conexão de serviço genérico
Alias de entrada: connectedServiceName | genericService.
string. Necessário quando connectedServiceNameSelector = connectedServiceName.
Especifica a conexão de serviço genérica que fornece o baseUrl para a chamada e a autorização a ser usada para a tarefa.
azureServiceConnection
-
de assinatura do Azure
Alias de entrada: connectedServiceNameARM | azureSubscription.
string. Necessário quando connectedServiceNameSelector = connectedServiceNameARM.
Especifica a assinatura do Azure Resource Manager a ser configurada e usada para invocar APIs de gerenciamento do Azure.
method
-
Método
string. Obrigatório. Valores permitidos: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, PATCH. Valor padrão: POST.
Especifica o método HTTP que invoca a API.
headers
-
Cabeçalhos
string. Valor padrão: {\n"Content-Type":"application/json", \n"PlanUrl": "$(system.CollectionUri)", \n"ProjectId": "$(system.TeamProjectId)", \n"HubName": "$(system.HostType)", \n"PlanId": "$(system.PlanId)", \n"JobId": "$(system.JobId)", \n"TimelineId": "$(system.TimelineId)", \n"TaskInstanceId": "$(system.TaskInstanceId)", \n"AuthToken": "$(system.AccessToken)"\n}.
Define o cabeçalho no formato JSON. O cabeçalho é anexado com a solicitação enviada à API.
body
-
Corpo
string. Opcional. Use quando method != GET && method != HEAD.
Especifica o corpo da solicitação para a chamada de função no formato JSON.
urlSuffix
-
sufixo e parâmetros de URL
string.
Especifica a cadeia de caracteres a ser acrescentada ao baseUrl da conexão de serviço genérico ao fazer a chamada HTTP.
Exemplo: Se a URL de conexão de serviço estiver https:...TestProj/_apis/Release/releases e o sufixo de URL for /2/environments/1, a URL de conexão de serviço se tornará https:.../TestProj/_apis/Release/releases/2/environments/1. Se o sufixo de URL for ?definitionId=1&releaseCount=1, a URL de conexão de serviço se tornará https//...TestProj/_apis/Release/releases?definitionId=1&releaseCount=1.
waitForCompletion
-
Evento de conclusão
string. Obrigatório. Valores permitidos: true (Callback), false (ApiResponse). Valor padrão: false.
Especifica como a tarefa relata a conclusão. Os valores permitidos são:
-
false- de resposta da API : informa a conclusão quando a função retorna o êxito em 20 segundos e o critério de sucesso é avaliado como verdadeiro. -
true- Callback: informa a conclusão quando o serviço externo faz um retorno de chamada para atualizar o registro da linha do tempo.
successCriteria
-
Critérios de sucesso
string. Opcional. Use quando waitForCompletion = false.
Especifica os critérios de sucesso da tarefa. O conteúdo da resposta não influencia o resultado se nenhum critério for definido. Por padrão, a tarefa passa quando a chamada retorna 200 OK.
Exemplo: Para resposta {"status" : "successful"}, a expressão pode ser eq(root['status'], 'successful'). Saiba mais sobre como especificar condições.
Opções de controlo de tarefas
Todas as tarefas têm opções de controle, além de suas entradas de tarefas. Para obter mais informações, consulte Opções de controle de e propriedades de tarefas comuns.
Variáveis de saída
Nenhum.
Observações
Observação
Esta tarefa só pode ser usada em um trabalho sem agente.
Terá êxito se a API retornar êxito e a análise do corpo de resposta for bem-sucedida, ou quando a API atualizar o registro da linha do tempo com êxito.
A tarefa Invocar API REST não executa ações de implantação diretamente. Em vez disso, ele permite que você invoque qualquer API REST http genérica como parte do pipeline automatizado e, opcionalmente, aguarde até que ela seja concluída.
Para obter mais informações sobre como usar essa tarefa, consulte Visão geral de aprovações e portas.
Quais URLs base são usadas ao invocar APIs de Gerenciamento do Azure?
As APIs de gerenciamento do Azure são invocadas usando ResourceManagerEndpoint do ambiente selecionado. Por exemplo, https://management.azure.com é usado quando a assinatura está em um ambiente AzureCloud.
Onde uma tarefa deve sinalizar a conclusão quando de retorno de chamada é escolhido como o evento de conclusão?
Para sinalizar a conclusão, o serviço externo deve enviar dados de conclusão POST para o ponto de extremidade REST dos seguintes pipelines.
{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 este de aplicação cmdline simples para obter detalhes.
Além disso, uma biblioteca auxiliar em C# está disponível para habilitar o registro em tempo real e o gerenciamento do status de tarefas para tarefas sem agente. Mais informações
Posso usar o corpo da resposta como entrada para outra tarefa?
Não, pois essa tarefa é uma tarefa sem agente e usa o HttpRequest interno do TFS, que não retorna o conteúdo da solicitação HTTP.
Exemplo
steps:
- task: InvokeRESTAPI@1
displayName: 'Invoke REST API: GET'
inputs:
serviceConnection: 'generic_demo'
method: GET
successCriteria: 'eq(root[''count''], ''1425'')'
Neste exemplo, a tarefa é bem-sucedida quando a resposta corresponde ao nosso successCriteria: eq(root[''count''], ''1425'').
Requerimentos
| Requisito | Descrição |
|---|---|
| Tipos de pipeline | YAML, Construção clássica, Versão clássica |
| Funciona em | Servidor, ServerGate |
| Exigências | Nenhum |
| Capacidades | Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes no trabalho. |
| Restrições de comando | Qualquer |
| Variáveis configuráveis | Qualquer |
| Versão do agente | Todas as versões de agente suportadas. |
| Categoria de tarefa | Desplegar |