InvokeRESTAPI@1 – Vyvolání úlohy rozhraní REST API v1
Tuto úlohu použijte k vyvolání rozhraní REST API jako součásti vašeho kanálu.
Syntax
# 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.
# 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. Required when connectedServiceNameSelector = connectedServiceName. Generic service connection.
#azureServiceConnection: # string. Alias: connectedServiceNameARM. 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.
Vstupy
connectionType
- Typ připojení
Alias vstupu: connectedServiceNameSelector
. string
. Povinná hodnota. Povolené hodnoty: connectedServiceName
(Generic) connectedServiceNameARM
(Azure Resource Manager). Výchozí hodnota: connectedServiceName
.
Určuje typ připojení služby, který se má použít k vyvolání rozhraní REST API. Vyberte Azure Resource Manager a pro všechna ostatní rozhraní API můžete vyvolat rozhraní API pro správu Azure nebo Obecné.
serviceConnection
- Obecné připojení služby
Alias vstupu: connectedServiceName | genericService
. string
. Vyžaduje se, když connectedServiceNameSelector = connectedServiceName
.
Určuje obecné připojení služby, které poskytuje baseUrl pro volání a autorizaci, která se má použít pro úlohu.
serviceConnection
- Obecné připojení služby
Alias vstupu: connectedServiceName
. string
. Vyžaduje se, když connectedServiceNameSelector = connectedServiceName
.
Určuje obecné připojení služby, které poskytuje baseUrl pro volání a autorizaci, která se má použít pro úlohu.
azureServiceConnection
- Předplatné Azure
Alias vstupu: connectedServiceNameARM | azureSubscription
. string
. Vyžaduje se, když connectedServiceNameSelector = connectedServiceNameARM
.
Určuje předplatné Azure Resource Manager, které se má nakonfigurovat a použít k vyvolání rozhraní API pro správu Azure.
azureServiceConnection
- Předplatné Azure
Alias vstupu: connectedServiceNameARM
. string
. Vyžaduje se, když connectedServiceNameSelector = connectedServiceNameARM
.
Určuje předplatné Azure Resource Manager, které se má nakonfigurovat a použít k vyvolání rozhraní API pro správu Azure.
method
- Metoda
string
. Povinná hodnota. Povolené hodnoty: OPTIONS
, GET
, , POST
HEAD
, , PUT
, 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"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}
.
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
.
Určuje text požadavku pro volání funkce ve formátu JSON.
urlSuffix
- Přípona adresy URL a parametry
string
.
Určuje řetězec, který se má připojit k baseUrl z obecného připojení služby při volání HTTP.
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=1
přípona adresy URL , změní se adresa URL připojení služby na https//...TestProj/_apis/Release/releases?definitionId=1&releaseCount=1
.
waitForCompletion
- Událost dokončení
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í úloha proběhne úspěšně, když volání vrátí 200 OK
.
Příklad: Pro odpověď {"status" : "successful"}
může být eq(root['status'], 'successful')
výraz . 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ích prvků a běžné vlastnosti úlohy.
Výstupní proměnné
Žádné
Poznámky
Poznámka
Tuto úlohu lze použít pouze v úloze bez agenta.
Proběhne úspěšně, 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 vám umožní vyvolat jakékoli obecné rozhraní HTTP REST API jako součást automatizovaného kanálu a volitelně počkat na dokončení.
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í resourceManagerEndpoint 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í vybráno 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 dynamické protokolování a správu stavu úloh pro úlohy bez agenta. Další informace
Můžu text odpovědi použít jako vstup pro jiný úkol?
Ne, protože tato úloha je úloha bez agenta a používá interní požadavek HttpRequest sady TFS, který nevrací obsah požadavku HTTP.
Příklad
steps:
- task: InvokeRESTAPI@1
displayName: 'Invoke REST API: GET'
inputs:
serviceConnection: 'generic_demo'
method: GET
successCriteria: 'eq(root[''count''], ''1425'')'
V tomto příkladu je úloha úspěšná, když odpověď odpovídá našemu successCriteria
: eq(root[''count''], ''1425'').
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í |