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/1blir https:.../TestProj/_apis/Release/releases/2/environments/1tjänstanslutnings-URL:en . Om URL-suffixet är ?definitionId=1&releaseCount=1blir https//...TestProj/_apis/Release/releases?definitionId=1&releaseCount=1tjä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.

Konfigurera en anropande REST API-uppgift

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