Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Gebruik deze taak om een REST API aan te roepen als onderdeel van uw pijplijn.
Syntaxis
# 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.
Invoer
connectionType
-
verbindingstype
Invoeralias: connectedServiceNameSelector
.
string
. Verplicht. 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 Management API of Generic 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 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.
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"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
-
hoofdtekst
string
. Facultatief. Gebruiken 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 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=1
is, wordt de URL van de serviceverbinding https//...TestProj/_apis/Release/releases?definitionId=1&releaseCount=1
.
waitForCompletion
-
voltooiingsbeurtenis
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 succes retourneert en de succescriteria waar worden geƫvalueerd. -
true
- Callback-: rapporteert voltooiing 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 OK
retourneert.
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.
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.
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 de successCriteria
: eq(root['count'], ''1425').
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 |