Sdílet prostřednictvím


InvokeRESTAPI@0 – Vyvolání úlohy rozhraní REST API v0

Tuto úlohu použijte k vyvolání rozhraní REST API jako součásti kanálu.

Syntax

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

Vstupy

serviceConnection - Obecný koncový bod
Vstupní alias: connectedServiceName. string. Povinná hodnota.

Určuje obecné připojení služby, které poskytuje baseURL pro volání a autorizaci, která se má použít pro úlohu.


method - Metoda
string. Povinná hodnota. Povolené hodnoty: OPTIONS, GET, HEAD, POSTPUT, , DELETE, , TRACE. PATCH Výchozí hodnota: POST.

Určuje metodu HTTP, která vyvolá rozhraní API.


headers - Záhlaví
string. Výchozí hodnota: {\n"Content-Type":"application/json"\n}.

Definuje hlavičku ve formátu JSON. Hlavička se připojí k požadavku odeslanému do rozhraní API.


body - Tělo
string. Nepovinný parametr. Použijte, když method != GET && method != HEAD. Výchozí hodnota: {"JobId": "$(system.jobId)", "PlanId": "$(system.planId)", "TimelineId": "$(system.timelineId)", "ProjectId": "$(system.teamProjectId)", "VstsUrl": "$(system.CollectionUri)","AuthToken": "$(system.AccessToken)"}.

Určuje text požadavku pro volání funkce ve formátu JSON.


urlSuffix - Řetězec přípony URL
string.

Určuje řetězec, který se má při volání HTTP připojit k baseUrl z obecného připojení služby.

Příklad: Pokud je https:...TestProj/_apis/Release/releases adresa URL připojení služby a přípona url je /2/environments/1, adresa URL připojení služby se změní na https:.../TestProj/_apis/Release/releases/2/environments/1. Pokud je ?definitionId=1&releaseCount=1přípona adresy URL , pak se adresa URL připojení služby změní na https//...TestProj/_apis/Release/releases?definitionId=1&releaseCount=1.


waitForCompletion - Dokončení na základě
string. Povinná hodnota. Povolené hodnoty: true (zpětné volání), false (ApiResponse). Výchozí hodnota: false.

Určuje, jak úkol hlásí dokončení. Povolené hodnoty jsou následující:

  • false - Odpověď rozhraní API: Hlásí dokončení, když funkce vrátí úspěch do 20 sekund, a kritéria úspěchu se vyhodnotí jako pravdivá.
  • true - Zpětné volání: Hlásí dokončení, když externí služba provede zpětné volání za účelem aktualizace záznamu časové osy.

successCriteria - Kritéria úspěchu
string. Nepovinný parametr. Použijte, když waitForCompletion = false.

Určuje kritéria úspěchu úkolu. Obsah odpovědi nemá vliv na výsledek, pokud nejsou definována žádná kritéria. Ve výchozím nastavení úkol projde, když volání vrátí 200 OK.

Příklad: Pro odpověď {"status" : "successful"}může být eq(root['status'], 'successful')výrazem . Přečtěte si další informace o zadávání podmínek.


Možnosti ovládání úloh

Všechny úlohy mají kromě vstupů také možnosti ovládání. Další informace najdete v tématu Možnosti ovládacího prvku a běžné vlastnosti úlohy.

Výstupní proměnné

Žádné

Poznámky

Poznámka

Tuto úlohu lze použít pouze v úloze bez agentů.

Pokud rozhraní API vrátí úspěch a analýza textu odpovědi je úspěšná, nebo když rozhraní API úspěšně aktualizuje záznam časové osy.

Úloha Vyvolat rozhraní REST API neprovádí akce nasazení přímo. Místo toho umožňuje vyvolat jakékoli obecné rozhraní HTTP REST API v rámci automatizovaného kanálu a volitelně počkat na dokončení.

Konfigurace úlohy vyvolání rozhraní REST API

Další informace o použití této úlohy najdete v tématu Přehled schválení a bran.

Jaké základní adresy URL se používají při volání rozhraní API pro správu Azure?

Rozhraní API pro správu Azure se vyvolávají pomocí ResourceManagerEndpointu vybraného prostředí. Používá se například https://management.Azure.com v případě, že je předplatné v prostředí AzureCloud .

Kde má úkol signalizovat dokončení, když je jako událost dokončení zvoleno zpětné volání ?

Aby externí služba signalizovala dokončení, měla by data dokončení post do následujícího koncového bodu REST kanálů.

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

Podrobnosti najdete v této jednoduché aplikaci cmdline .

Kromě toho je k dispozici pomocná knihovna jazyka C#, která umožňuje živé protokolování a správu stavu úloh pro úlohy bez agentů. Další informace

Můžu text odpovědi použít jako vstup pro jiný úkol?

Ne, protože tato úloha je úlohou bez agentů a používá interní požadavek HttpRequest sady TFS, který nevrací obsah požadavku HTTP.

Požadavky

Požadavek Popis
Typy kanálů YAML, classic build, verze Classic
Spustí se Server, ServerGate
Požadavky Žádné
Možnosti Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze.
Omezení příkazů Všechny
Nastavitelné proměnné Všechny
Verze agenta Všechny podporované verze agenta.
Kategorie úloh Nasazení