InvokeRESTAPI@1 : Aufrufen der REST-API v1-Aufgabe

Verwenden Sie diese Aufgabe, um eine REST-API als Teil Ihrer Pipeline aufzurufen.

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.
# YAML Syntax is not supported in TFS 2018.
# Use the classic designer to add and configure tasks.
# See the following Inputs section for details on the inputs that this task supports.

Eingaben

connectionType - Verbindungstyp
Eingabealias: connectedServiceNameSelector. string. Erforderlich. Zulässige Werte: connectedServiceName (Generisch), connectedServiceNameARM (Azure Resource Manager). Standardwert. connectedServiceName.

Gibt den Dienstverbindungstyp an, der zum Aufrufen der REST-API verwendet werden soll. Wählen Sie Azure Resource Manager aus, um eine Azure-Verwaltungs-API oder Generika für alle anderen APIs aufzurufen.


serviceConnection - Generische Dienstverbindung
Eingabealias: connectedServiceName | genericService. string. Erforderlich, wenn connectedServiceNameSelector = connectedServiceName.

Gibt die generische Dienstverbindung an, die die baseUrl für den Aufruf und die Autorisierung bereitstellt, die für den Task verwendet werden soll.


serviceConnection - Generische Dienstverbindung
Eingabealias: connectedServiceName. string. Erforderlich, wenn connectedServiceNameSelector = connectedServiceName.

Gibt die generische Dienstverbindung an, die die baseUrl für den Aufruf und die Autorisierung bereitstellt, die für den Task verwendet werden soll.


serviceConnection - Generischer Endpunkt
Eingabealias: connectedServiceName. string. Erforderlich.

Gibt die generische Dienstverbindung an, die die baseUrl für den Aufruf und die Autorisierung bereitstellt, die für den Task verwendet werden soll.


azureServiceConnection - Azure-Abonnement
Eingabealias: connectedServiceNameARM | azureSubscription. string. Erforderlich, wenn connectedServiceNameSelector = connectedServiceNameARM.

Gibt das Azure Resource Manager-Abonnement an, das zum Konfigurieren und Aufrufen von Azure-Verwaltungs-APIs verwendet werden soll.


azureServiceConnection - Azure-Abonnement
Eingabealias: connectedServiceNameARM. string. Erforderlich, wenn connectedServiceNameSelector = connectedServiceNameARM.

Gibt das Azure Resource Manager-Abonnement an, das zum Konfigurieren und Aufrufen von Azure-Verwaltungs-APIs verwendet werden soll.


method - Methode
string. Erforderlich. Zulässige Werte: OPTIONS, GET, HEAD, PUTPOST, DELETE, , TRACE. PATCH Standardwert. POST.

Gibt die HTTP-Methode an, die die API aufruft.


headers - Header
string. Standardwert. {\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}.

Definiert den Header im JSON-Format. Der Header wird mit der Anforderung angefügt, die an die API gesendet wird.


body - Körper
string. Optional. Verwenden Sie , wenn method != GET && method != HEAD.

Gibt den Anforderungstext für den Funktionsaufruf im JSON-Format an.


urlSuffix - URL-Suffix und -Parameter
string.

Gibt die Zeichenfolge an, die von der generischen Dienstverbindung an die baseUrl angefügt werden soll, während der HTTP-Aufruf erfolgt.

Beispiel: Wenn die Dienstverbindungs-URL https:...TestProj/_apis/Release/releases und das URL-Suffix lautet, wird /2/environments/1die Dienstverbindungs-URL zu https:.../TestProj/_apis/Release/releases/2/environments/1. Wenn das URL-Suffix ist, wird ?definitionId=1&releaseCount=1die Dienstverbindungs-URL zu https//...TestProj/_apis/Release/releases?definitionId=1&releaseCount=1.


urlSuffix - URL-Suffix und -Parameter
string.

Gibt die Zeichenfolge an, die von der generischen Dienstverbindung an die baseUrl angefügt werden soll, während der HTTP-Aufruf erfolgt.

Beispiel: Wenn die Dienstverbindungs-URL https:...TestProj/_apis/Release/releases und das URL-Suffix lautet, wird /2/environments/1die Dienstverbindungs-URL zu https:.../TestProj/_apis/Release/releases/2/environments/1. Wenn das URL-Suffix ist, wird ?definitionId=1&releaseCount=1die Dienstverbindungs-URL zu https//...TestProj/_apis/Release/releases?definitionId=1&releaseCount=1.


waitForCompletion - Abschlussereignis
string. Erforderlich. Zulässige Werte: true (Rückruf), false (ApiResponse). Standardwert. false.

Gibt an, wie die Aufgabe die Vervollständigung meldet. Zulässige Werte sind:

  • false - API-Antwort: Meldet den Abschluss, wenn die Funktion innerhalb von 20 Sekunden den Erfolg zurückgibt und die Erfolgskriterien als "true" ausgewertet werden.
  • true - Rückruf: Meldet die Vervollständigung, wenn der externe Dienst einen Rückruf vornimmt, um den Zeitachsendatensatz zu aktualisieren.

successCriteria - Erfolgskriterien
string. Optional. Verwenden Sie , wenn waitForCompletion = false.

Gibt die Erfolgskriterien der Aufgabe an. Der Antwortinhalt hat keinen Einfluss auf das Ergebnis, wenn keine Kriterien definiert sind. Standardmäßig wird der Task übergeben, wenn der Aufruf zurückgibt 200 OK.

Beispiel: Für die Antwort {"status" : "successful"}kann der Ausdruck sein eq(root['status'], 'successful'). Erfahren Sie mehr über das Angeben von Bedingungen.


Aufgabensteuerungsoptionen

Alle Aufgaben verfügen zusätzlich zu den Aufgabeneingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerungsoptionen und allgemeine Aufgabeneigenschaften.

Ausgabevariablen

Keine.

Bemerkungen

Hinweis

Diese Aufgabe kann nur in einem Auftrag ohne Agent verwendet werden.

Hinweis

Diese Aufgabe ist in klassischen Build- und Releasepipelines ab TFS 2018.2 In TFS 2018 RTM ist diese Aufgabe nur in klassischen Releasepipelines verfügbar.

Ist erfolgreich, wenn die API erfolgreich und die Analyse des Antworttexts erfolgreich ist oder wenn die API den Zeitachsendatensatz erfolgreich aktualisiert.

Der Task Rest-API aufrufen führt keine Bereitstellungsaktionen direkt aus. Stattdessen können Sie eine beliebige generische HTTP-REST-API als Teil der automatisierten Pipeline aufrufen und optional warten, bis sie abgeschlossen ist.

Konfigurieren einer Aufruf-REST-API-Aufgabe

Weitere Informationen zur Verwendung dieser Aufgabe finden Sie unter Übersicht über Genehmigungen und Gates.

Welche Basis-URLs werden beim Aufrufen von Azure Management-APIs verwendet?

Azure-Verwaltungs-APIs werden mithilfe von ResourceManagerEndpoint der ausgewählten Umgebung aufgerufen. Wird beispielsweise https://management.azure.com verwendet, wenn sich das Abonnement in einer AzureCloud-Umgebung befindet.

Wo sollte eine Aufgabe die Vervollständigung signalisieren, wenn Rückruf als Abschlussereignis ausgewählt wird?

Um die Vervollständigung zu signalisieren, sollte der externe Dienst post-Vervollständigungsdaten an den folgenden Pipelines-REST-Endpunkt senden.

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

Einzelheiten finden Sie in dieser einfachen Cmdline-Anwendung .

Darüber hinaus ist eine C#-Hilfsbibliothek verfügbar, um die Liveprotokollierung und verwaltung des Aufgabenstatus für Aufgaben ohne Agent zu aktivieren. Weitere Informationen

Kann ich den Antworttext als Eingabe für eine andere Aufgabe verwenden?

Nein, da diese Aufgabe eine Aufgabe ohne Agent ist und die interne HttpRequest von TFS verwendet, die den Inhalt der HTTP-Anforderung nicht zurückgibt.

Beispiel

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

In diesem Beispiel ist die Aufgabe erfolgreich, wenn die Antwort mit unserem successCriteriaübereinstimmt: eq(root[''count''], ''1425'')).

Anforderungen

Anforderung BESCHREIBUNG
Pipelinetypen YAML, Klassischer Build, klassische Version
Wird ausgeführt auf Server, ServerGate
Forderungen Keine
Capabilities Diese Aufgabe erfüllt keine Anforderungen an nachfolgende Aufgaben im Auftrag.
Befehlseinschränkungen Any
Einstellbare Variablen Any
Agent-Version Alle unterstützten Agent-Versionen.
Aufgabenkategorie Bereitstellen