Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Use essa tarefa para invocar uma API REST como parte do 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.
Entradas
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
-
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.
Método method -
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.
Cabeçalhos headers -
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 de URL e parâmetros
string.
Especifica a cadeia de caracteres a ser acrescentada ao baseUrl da conexão de serviço genérica ao fazer a chamada HTTP.
Exemplo: se a URL de conexão de serviço for 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.
de evento de conclusão de waitForCompletion -
string. Obrigatório Valores permitidos: true (retorno de chamada), false (ApiResponse). Valor padrão: false.
Especifica como a tarefa relata a conclusão. Os valores permitidos são:
-
false- de resposta à API: relata a conclusão quando a função retorna êxito dentro de 20 segundos e os critérios de êxito são avaliados como verdadeiros. -
true- de retorno de chamada: relata a conclusão quando o serviço externo faz um retorno de chamada para atualizar o registro da linha do tempo.
critérios de sucesso successCriteria -
string. Opcional. Use quando waitForCompletion = false.
Especifica os critérios da tarefa para êxito. O conteúdo da resposta não influenciará o resultado se nenhum critério for definido. Por padrão, a tarefa é passada quando a chamada retorna 200 OK.
Exemplo: para {"status" : "successful"}de resposta, a expressão pode ser eq(root['status'], 'successful'). Saiba mais sobre especificando condições.
Opções de controle de tarefa
Todas as tarefas têm opções de controle além das suas entradas de tarefas. Para obter mais informações, consulte as opções de Controle de e as propriedades comuns da tarefa.
Variáveis de saída
Nenhum.
Observações
Observação
Essa tarefa só pode ser usada em um trabalho sem agente.
Terá êxito se a API retornar êxito e a análise do corpo da 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 portões.
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 de do AzureCloud.
Onde um sinal de tarefa deve ser concluído quando de Retorno de Chamada é escolhido como o evento de conclusão?
Para sinalizar a conclusão, o serviço externo deve postar dados de conclusão para o ponto de extremidade REST de pipelines a seguir.
{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 aplicativo cmdline simples para obter detalhes.
Além disso, uma biblioteca auxiliar do C# está disponível para habilitar o registro em log dinâmico e o gerenciamento do status da tarefa para tarefas sem agente. Saiba mais
Posso usar o corpo da resposta como entrada para outra tarefa?
Não, como 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 correspondeu ao nosso successCriteria: eq(root[''count'], ''1425'').
Requisitos
| Requisito | Descrição |
|---|---|
| Tipos de pipeline | YAML, build clássico, versão clássica |
| Execuções em | Servidor, ServerGate |
| de demandas | Nenhum |
| recursos | Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho. |
| restrições de comando | Qualquer |
| variáveis settable | Qualquer |
| Versão do agente | Todas as versões de agente com suporte. |
| Categoria de tarefa | Implantar |