Delen via


InvokeRESTAPI@0 - REST API v0-taak aanroepen

Gebruik deze taak om een REST API aan te roepen als onderdeel van uw pijplijn.

Syntaxis

# 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.

Invoer

serviceConnection - Algemeen eindpunt
Invoeralias: connectedServiceName. string. Verplicht.

Hiermee geeft u de algemene serviceverbinding op die de baseURL biedt voor de aanroep en de autorisatie die voor de taak moet worden gebruikt.


method - methode
string. Verplicht. Toegestane waarden: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, PATCH. Standaardwaarde: POST.

Hiermee geeft u de HTTP-methode op die de API aanroept.


headers - kopteksten
string. Standaardwaarde: {\n"Content-Type":"application/json"\n}.

Definieert de header in JSON-indeling. De header wordt gekoppeld aan de aanvraag die naar de API is verzonden.


body - hoofdtekst
string. Facultatief. Gebruiken wanneer method != GET && method != HEAD. Standaardwaarde: {"JobId": "$(system.jobId)", "PlanId": "$(system.planId)", "TimelineId": "$(system.timelineId)", "ProjectId": "$(system.teamProjectId)", "VstsUrl": "$(system.CollectionUri)","AuthToken": "$(system.AccessToken)"}.

Hiermee geeft u de aanvraagbody voor de functie-aanroep in JSON-indeling.


urlSuffix - tekenreeks voor url-achtervoegsel
string.

Hiermee geeft u de tekenreeks die moet worden toegevoegd aan de baseUrl vanuit de algemene serviceverbinding tijdens het maken van de HTTP-aanroep.

Voorbeeld: Als de URL van de serviceverbinding is https:...TestProj/_apis/Release/releases en het URL-achtervoegsel /2/environments/1, wordt de URL van de serviceverbinding https:.../TestProj/_apis/Release/releases/2/environments/1. Als het URL-achtervoegsel ?definitionId=1&releaseCount=1is, wordt de URL van de serviceverbinding https//...TestProj/_apis/Release/releases?definitionId=1&releaseCount=1.


waitForCompletion - voltooid op basis van
string. Verplicht. Toegestane waarden: true (Callback), false (ApiResponse). Standaardwaarde: false.

Hiermee geeft u op hoe de taakrapporten zijn voltooid. De toegestane waarden zijn:

  • false - API-antwoord: rapporteert voltooiing wanneer de functie binnen 20 seconden is geslaagd en de succescriteria waar worden geĆ«valueerd.
  • true - Callback-: Rapporteert voltooid wanneer de externe service een callback uitvoert om de tijdlijnrecord bij te werken.

successCriteria - succescriteria
string. Facultatief. Gebruiken wanneer waitForCompletion = false.

Hiermee geeft u de criteria voor geslaagde taken op. De antwoordinhoud heeft geen invloed op het resultaat als er geen criteria zijn gedefinieerd. De taak wordt standaard doorgegeven wanneer de aanroep 200 OKretourneert.

Voorbeeld: Voor antwoord {"status" : "successful"}kan de expressie worden eq(root['status'], 'successful'). Meer informatie over het opgeven van voorwaarden .


Opties voor taakbeheer

Alle taken hebben besturingsopties naast hun taakinvoer. Zie Opties en algemene taakeigenschappenvoor meer informatie.

Uitvoervariabelen

Geen.

Opmerkingen

Notitie

Deze taak kan alleen worden gebruikt in een taak zonder agent.

Slaagt als de API een succes retourneert en het parseren van de antwoordtekst is geslaagd, of wanneer de API de tijdlijnrecord bijwerkt met succes.

De REST API-taak aanroepen voert geen implementatieacties rechtstreeks uit. In plaats daarvan kunt u een algemene HTTP REST API aanroepen als onderdeel van de geautomatiseerde pijplijn en eventueel wachten tot deze is voltooid.

Een REST API-taak aanroepen configureren

Zie Overzicht van goedkeuringen en poortenvoor meer informatie over het gebruik van deze taak.

Welke basis-URL's worden gebruikt bij het aanroepen van Azure Management-API's?

Azure-beheer-API's worden aangeroepen met behulp van ResourceManagerEndpoint- van de geselecteerde omgeving. https://management.Azure.com wordt bijvoorbeeld gebruikt wanneer het abonnement zich in een AzureCloud-omgeving bevindt.

Waar moet een taaksignaal worden voltooid wanneer Callback- wordt gekozen als voltooiingsevenement?

Om de voltooiing te signaleren, moet de externe service POST-voltooiingsgegevens verzenden naar het volgende REST-eindpunt voor pijplijnen.

{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" }

Zie deze eenvoudige cmdlinetoepassing voor specifieke informatie.

Daarnaast is er een C#-helperbibliotheek beschikbaar voor het inschakelen van livelogboekregistratie en het beheren van de taakstatus voor taken zonder agent. Meer informatie

Kan ik de hoofdtekst van het antwoord gebruiken als invoer voor een andere taak?

Nee, omdat deze taak een taak zonder agent is en gebruikmaakt van TFS's interne HttpRequest, die de inhoud van de HTTP-aanvraag niet retourneert.

Vereisten

Voorwaarde Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Server, ServerGate
eisen Geen
mogelijkheden Deze taak voldoet niet aan de vereisten voor volgende taken in de taak.
opdrachtbeperkingen Welk dan ook
variabelen instellen Welk dan ook
Agentversie Alle ondersteunde agentversies.
Taakcategorie Implementeren