Delen via


InvokeRESTAPI@1: REST API v1-taak aanroepen

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

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.

Invoerwaarden

connectionType - Verbindingstype
Invoeralias: connectedServiceNameSelector. string. Vereist. Toegestane waarden: connectedServiceName (Algemeen), connectedServiceNameARM (Azure Resource Manager). Standaardwaarde: connectedServiceName.

Hiermee geeft u het serviceverbindingstype op dat moet worden gebruikt om de REST API aan te roepen. Selecteer Azure Resource Manager om een Azure-beheer-API of Algemeen aan te roepen voor alle andere API's.


serviceConnection - Algemene serviceverbinding
Invoeralias: connectedServiceName | genericService. string. Vereist wanneer connectedServiceNameSelector = connectedServiceName.

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


serviceConnection - Algemene serviceverbinding
Invoeralias: connectedServiceName. string. Vereist wanneer connectedServiceNameSelector = connectedServiceName.

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


azureServiceConnection - Azure-abonnement
Invoeralias: connectedServiceNameARM | azureSubscription. string. Vereist wanneer connectedServiceNameSelector = connectedServiceNameARM.

Hiermee geeft u het Azure Resource Manager-abonnement op dat moet worden geconfigureerd en gebruikt voor het aanroepen van Azure-beheer-API's.


azureServiceConnection - Azure-abonnement
Invoeralias: connectedServiceNameARM. string. Vereist wanneer connectedServiceNameSelector = connectedServiceNameARM.

Hiermee geeft u het Azure Resource Manager-abonnement op dat moet worden geconfigureerd en gebruikt voor het aanroepen van Azure-beheer-API's.


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

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.

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


urlSuffix - URL-achtervoegsel en -parameters
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 - Voltooiingsevenement
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.

Voorbeeld

steps:
- task: InvokeRESTAPI@1
  displayName: 'Invoke REST API: GET'
  inputs:
    serviceConnection: 'generic_demo'
    method: GET
    successCriteria: 'eq(root[''count''], ''1425'')'

In dit voorbeeld slaagt de taak wanneer het antwoord overeenkomt met : successCriteriaeq(root[''count''], ''1425'').

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