Dela via


InvokeRESTAPI@0 – Anropa REST API v0-uppgift

Använd den här uppgiften för att anropa ett REST API som en del av din pipeline.

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.

Ingångar

serviceConnection - allmän slutpunkt
Indataalias: connectedServiceName. string. Obligatoriskt.

Anger den allmänna tjänstanslutning som tillhandahåller baseURL för anropet och den auktorisering som ska användas för uppgiften.


method - metod
string. Obligatoriskt. Tillåtna värden: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, PATCH. Standardvärde: POST.

Anger DEN HTTP-metod som anropar API:et.


headers - rubriker
string. Standardvärde: {\n"Content-Type":"application/json"\n}.

Definierar rubriken i JSON-format. Huvudet bifogas med begäran som skickas till API:et.


body - brödtext
string. Valfritt. Använd när method != GET && method != HEAD. Standardvärde: {"JobId": "$(system.jobId)", "PlanId": "$(system.planId)", "TimelineId": "$(system.timelineId)", "ProjectId": "$(system.teamProjectId)", "VstsUrl": "$(system.CollectionUri)","AuthToken": "$(system.AccessToken)"}.

Anger begärandetexten för funktionsanropet i JSON-format.


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


waitForCompletion - Slutför baserat på
string. Obligatoriskt. 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 true.
  • 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 villkor för att lyckas. Svarsinnehållet påverkar inte resultatet om inga villkor 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

Ingen.

Anmärkningar

Anmärkning

Den här uppgiften kan endast användas i ett agentlöst jobb.

Lyckas om API:et returnerar framgång och svarstextparseringen lyckas, eller när API:et uppdaterar tidslinjeposten med framgång.

Anropa REST API-uppgift inte utför 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 rest-API-aktivitet

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 hjälp av ResourceManagerEndpoint för den valda miljön. Till exempel används https://management.Azure.com 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 bör 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 att aktivera liveloggning 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.

Krav

Krav Beskrivning
Pipelinetyper YAML, klassisk version, klassisk version
Körs på Server, ServerGate
kräver Ingen
funktioner Den här aktiviteten uppfyller inte några krav på efterföljande uppgifter i jobbet.
Kommandobegränsningar Vilken som helst
variabler som kan Vilken som helst
Agentversion Alla agentversioner som stöds.
Aktivitetskategori Gruppera