Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tuto úlohu použijte k vyvolání rozhraní REST API jako součásti kanálu.
Syntaxe
# 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.
Vstupy
connectionType
-
Typ připojení
Vstupní alias: connectedServiceNameSelector.
string. Povinné. Povolené hodnoty: connectedServiceName (obecné), 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. Výběrem azure Resource Manageru vyvoláte rozhraní API pro správu Azure nebo obecné pro všechna ostatní rozhraní API.
serviceConnection
-
obecného připojení služby
Vstupní alias: connectedServiceName | genericService.
string. Požadováno při 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ého Azure
Vstupní alias: connectedServiceNameARM | azureSubscription.
string. Požadováno při connectedServiceNameSelector = connectedServiceNameARM.
Určuje předplatné Azure Resource Manageru pro konfiguraci a použití pro vyvolání rozhraní API pro správu Azure.
method
-
– metoda
string. Povinné. Povolené hodnoty: OPTIONS, GET, HEAD, POST, 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.
textu body -
string. Volitelný. Používá se při method != GET && method != HEAD.
Určuje text požadavku pro volání funkce ve formátu JSON.
urlSuffix
-
přípony adresy URL a parametrů
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 adresa URL připojení služby https:...TestProj/_apis/Release/releases a přípona adresy URL je /2/environments/1, bude adresa URL připojení služby https:.../TestProj/_apis/Release/releases/2/environments/1. Pokud je přípona adresy URL ?definitionId=1&releaseCount=1, stane se adresa URL připojení služby https//...TestProj/_apis/Release/releases?definitionId=1&releaseCount=1.
události dokončení waitForCompletion -
string. Povinné. Povolené hodnoty: true (zpětné volání), false (ApiResponse). Výchozí hodnota: false.
Určuje, jak se má úkol dokončit. Povolené hodnoty jsou:
-
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í: oznamuje dokončení, když externí služba provede zpětné volání pro aktualizaci záznamu časové osy.
kritéria úspěchu successCriteria -
string. Volitelný. Používá se při waitForCompletion = false.
Určuje kritéria úkolu pro úspěch. Obsah odpovědi nemá vliv na výsledek, pokud nejsou definována žádná kritéria. Ve výchozím nastavení úkol předá, když volání vrátí 200 OK.
Příklad: Pro odpověď {"status" : "successful"}může být výraz eq(root['status'], 'successful'). Přečtěte si další informace o určení podmínek.
Možnosti ovládání úloh
Všechny úlohy mají kromě vstupů také možnosti ovládání. Další informace naleznete v tématu Možnosti ovládacího prvku a běžné vlastnosti úloh.
Výstupní proměnné
Žádné.
Poznámky
Poznámka:
Tuto úlohu lze použít pouze v úlohy 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 aktualizuje záznam časové osy úspěšně.
vyvolání úlohy rozhraní REST API neprovádí akce nasazení přímo. Místo toho umožňuje 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 naleznete v tématu Přehled schválení a bran.
Jaké základní adresy URL se používají při vyvolání rozhraní API pro správu Azure?
Rozhraní API pro správu Azure se vyvolávají pomocí ResourceManagerEndpoint vybraného prostředí. Například https://management.azure.com se používá, když je předplatné v prostředí AzureCloud.
Kde má být dokončení signálu úkolu při zpětné volání vybrána jako událost dokončení?
K dokončení signálu by externí služba měla data dokončení POST provést 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" }
Konkrétní informace najdete v této jednoduché aplikace cmdline.
Kromě toho je k dispozici pomocná knihovna jazyka C#, která umožňuje protokolování za provozu a správu stavu úloh pro úlohy bez agentů. Další informace
Můžu jako vstup pro jiný úkol použít text odpovědi?
Ne, protože tato úloha je úloha bez agenta a používá interní httpRequest TFS, který nevrací obsah požadavku HTTP.
Příklad
- YAML
- Klasické
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 úkol úspěšný, když odpověď odpovídá naší successCriteria: eq(root[''count'], ''1425'').
Požadavky
| Požadavek | Popis |
|---|---|
| Typy kanálů | YAML, klasické sestavení, klasická verze |
| Běží na | Server, ServerGate |
| požadavky | Žádný |
| možnosti | Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze. |
| omezení příkazů | Jakýkoliv |
| nastavitelné proměnné | Jakýkoliv |
| Verze agenta | Všechny podporované verze agenta. |
| Kategorie úkolu | Nasadit |