Partilhar via


InvokeRESTAPI@0 - Invocar a tarefa REST API v0

Use esta tarefa para invocar uma API REST como parte do seu pipeline.

Sintaxe

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

Insumos

serviceConnection - Endpoint genérico
Alias de entrada: connectedServiceName. string. Obrigatório.

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.


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

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. Valor padrão: {"JobId": "$(system.jobId)", "PlanId": "$(system.planId)", "TimelineId": "$(system.timelineId)", "ProjectId": "$(system.teamProjectId)", "VstsUrl": "$(system.CollectionUri)","AuthToken": "$(system.AccessToken)"}.

Especifica o corpo da solicitação para a chamada de função no formato JSON.


urlSuffix - Url sufixo string
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 - Completo com base em
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 os critérios de sucesso são avaliados como verdadeiros.
  • true - Callback: Relata 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.

Configurando uma tarefa Invoke REST API

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.

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