InvokeRESTAPI@1 – Anropa REST API v1-uppgift
Använd den här uppgiften för att anropa ett REST API som en del av din pipeline.
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.
Indata
connectionType
- Anslutningstyp
Indataalias: connectedServiceNameSelector
. string
. Krävs. Tillåtna värden: connectedServiceName
(Allmänt), connectedServiceNameARM
(Azure Resource Manager). Standardvärde: connectedServiceName
.
Anger den tjänstanslutningstyp som ska användas för att anropa REST-API:et. Välj Azure Resource Manager för att anropa ett Azure-hanterings-API eller Generiskt för alla andra API:er.
serviceConnection
- Allmän tjänstanslutning
Indataalias: connectedServiceName | genericService
. string
. Krävs när connectedServiceNameSelector = connectedServiceName
.
Anger den allmänna tjänstanslutningen som tillhandahåller baseUrl för anropet och den auktorisering som ska användas för uppgiften.
serviceConnection
- Allmän tjänstanslutning
Indataalias: connectedServiceName
. string
. Krävs när connectedServiceNameSelector = connectedServiceName
.
Anger den allmänna tjänstanslutningen som tillhandahåller baseUrl för anropet och den auktorisering som ska användas för uppgiften.
azureServiceConnection
- Azure-prenumeration
Indataalias: connectedServiceNameARM | azureSubscription
. string
. Krävs när connectedServiceNameSelector = connectedServiceNameARM
.
Anger den Azure Resource Manager-prenumeration som ska konfigureras och användas för att anropa Azure-hanterings-API:er.
azureServiceConnection
- Azure-prenumeration
Indataalias: connectedServiceNameARM
. string
. Krävs när connectedServiceNameSelector = connectedServiceNameARM
.
Anger den Azure Resource Manager-prenumeration som ska konfigureras och användas för att anropa Azure-hanterings-API:er.
method
- Metod
string
. Krävs. Tillåtna värden: OPTIONS
, GET
, HEAD
, POST
, PUT
, DELETE
, TRACE
. PATCH
Standardvärde: POST
.
Anger DEN HTTP-metod som anropar API:et.
headers
- Headers
string
. Standardvärde: {\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}
.
Definierar rubriken i JSON-format. Huvudet bifogas med begäran som skickas till API:et.
body
- Kroppen
string
. Valfritt. Använd när method != GET && method != HEAD
.
Anger begärandetexten för funktionsanropet i JSON-format.
urlSuffix
- URL-suffix och parametrar
string
.
Anger strängen som ska läggas till i baseUrl från den allmänna tjänstanslutningen när HTTP-anropet upprättas.
Exempel: Om url:en för tjänstanslutningen är https:...TestProj/_apis/Release/releases
och URL-suffixet är /2/environments/1
blir https:.../TestProj/_apis/Release/releases/2/environments/1
tjänstanslutnings-URL:en . Om URL-suffixet är ?definitionId=1&releaseCount=1
blir https//...TestProj/_apis/Release/releases?definitionId=1&releaseCount=1
tjänstanslutnings-URL:en .
waitForCompletion
- Slutförandehändelse
string
. Krävs. Tillåtna värden: true
(Återanrop), false
(ApiResponse). Standardvärde: false
.
Anger hur uppgiften rapporterar slutförande. De tillåtna värdena är:
false
- API-svar: rapporter slutförs när funktionen returnerar framgång inom 20 sekunder och framgångskriterierna utvärderas till sant.true
- Återanrop: rapporter slutförs när den externa tjänsten gör ett återanrop för att uppdatera tidslinjeposten.
successCriteria
- Framgångskriterier
string
. Valfritt. Använd när waitForCompletion = false
.
Anger uppgiftens kriterier för att lyckas. Svarsinnehållet påverkar inte resultatet om inga kriterier har definierats. Som standard skickas aktiviteten när anropet returnerar 200 OK
.
Exempel: För svar {"status" : "successful"}
kan uttrycket vara eq(root['status'], 'successful')
. Läs mer om att ange villkor.
Kontrollalternativ för aktivitet
Alla aktiviteter har kontrollalternativ utöver sina aktivitetsindata. Mer information finns i Kontrollalternativ och vanliga uppgiftsegenskaper.
Utdatavariabler
Inga.
Kommentarer
Anteckning
Den här uppgiften kan endast användas i ett agentlöst jobb.
Lyckas om API:et returnerar lyckade resultat och svarstextparseringen lyckas, eller när API:et uppdaterar tidslinjeposten med framgång.
Aktiviteten Anropa REST API utför inte distributionsåtgärder direkt. I stället kan du anropa alla generiska HTTP REST API som en del av den automatiserade pipelinen och eventuellt vänta tills det har slutförts.
Mer information om hur du använder den här uppgiften finns i Översikt över godkännanden och grindar.
Vilka grundläggande URL:er används vid anrop av Azure Management-API:er?
Azure-hanterings-API:er anropas med ResourceManagerEndpoint i den valda miljön. Till exempel https://management.azure.com
används när prenumerationen finns i en AzureCloud-miljö .
Var ska en aktivitetssignal slutföras när återanrop väljs som slutförandehändelse?
För att signalera slutförande ska den externa tjänsten POST-slutförandedata till följande REST-slutpunkt för 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" }
Mer information finns i det här enkla cmdline-programmet .
Dessutom finns ett C#-hjälpbibliotek tillgängligt för aktiv loggning och hantering av aktivitetsstatus för agentlösa uppgifter. Läs mer
Kan jag använda svarstexten som indata för en annan uppgift?
Nej, eftersom den här uppgiften är en agentlös uppgift och använder TFS interna HttpRequest, som inte returnerar innehållet i HTTP-begäran.
Exempel
steps:
- task: InvokeRESTAPI@1
displayName: 'Invoke REST API: GET'
inputs:
serviceConnection: 'generic_demo'
method: GET
successCriteria: 'eq(root[''count''], ''1425'')'
I det här exemplet lyckas uppgiften när svaret matchade vår successCriteria
: eq(root[''count'' ], ''1425'').
Krav
Krav | Beskrivning |
---|---|
Pipelinetyper | YAML, klassisk version, klassisk version |
Körs på | Server, ServerGate |
Krav | Ingen |
Funktioner | Den här aktiviteten uppfyller inte några krav för efterföljande uppgifter i jobbet. |
Kommandobegränsningar | Valfri |
Inställningsbara variabler | Valfri |
Agentversion | Alla agentversioner som stöds. |
Uppgiftskategori | Distribuera |