Delen via


InvokeRESTAPI@0 - REST API v0-taak aanroepen

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

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.

Invoerwaarden

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

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


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

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


headers - Headers
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 - Lichaam
string. Optioneel. Gebruik 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 url-achtervoegsel
string.

Hiermee geeft u de tekenreeks op die moet worden toegevoegd aan de baseUrl van 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 is, wordt /2/environments/1https:.../TestProj/_apis/Release/releases/2/environments/1de URL van de serviceverbinding . Als het URL-achtervoegsel is, wordt ?definitionId=1&releaseCount=1de URL https//...TestProj/_apis/Release/releases?definitionId=1&releaseCount=1van de serviceverbinding .


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

Hiermee geeft u op hoe de voltooiing van de taak wordt gerapporteerd. De toegestane waarden zijn:

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

successCriteria - Succescriteria
string. Optioneel. Gebruik wanneer waitForCompletion = false.

Hiermee geeft u de criteria voor succes van de taak op. De antwoordinhoud heeft geen invloed op het resultaat als er geen criteria zijn gedefinieerd. De taak wordt standaard doorgegeven wanneer de aanroep retourneert 200 OK.

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


Opties voor taakbeheer

Alle taken hebben besturingsopties naast hun taakinvoer. Zie Opties voor besturingselementen en algemene taakeigenschappen voor 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.

Met de taak REST API aanroepen worden implementatieacties niet rechtstreeks uitgevoerd. In plaats daarvan kunt u een algemene HTTP REST API aanroepen als onderdeel van de geautomatiseerde pijplijn en eventueel wachten totdat deze is voltooid.

Een REST API-taak aanroepen configureren

Zie Overzicht van goedkeuringen en poorten voor 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. Wordt bijvoorbeeld https://management.Azure.com gebruikt wanneer het abonnement zich in een AzureCloud-omgeving bevindt.

Waar moet een taak voltooiing aangeven wanneer callback is gekozen als voltooiingsevenement?

Om voltooiing aan te geven, moet de externe service post-voltooiingsgegevens naar het volgende pijplijn REST-eindpunt.

{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 cmdline-toepassing voor meer informatie.

Daarnaast is er een C#-helperbibliotheek beschikbaar voor het inschakelen van livelogboekregistratie en het beheren van taakstatussen 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 de interne HttpRequest van TFS, die niet de inhoud van de HTTP-aanvraag retourneert.

Vereisten

Vereiste Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Server, ServerGate
Eisen Geen
Functies Deze taak voldoet niet aan eventuele vereisten voor volgende taken in de taak.
Opdrachtbeperkingen Alle
Instelbare variabelen Alle
Agentversie Alle ondersteunde agentversies.
Taakcategorie Implementeren