Share via


InvokeRESTAPI@0 - Appeler la tâche DE l’API REST v0

Utilisez cette tâche pour appeler une API REST dans le cadre de votre pipeline.

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.

Entrées

serviceConnection - Point de terminaison générique
Alias d’entrée : connectedServiceName. string. Obligatoire.

Spécifie la connexion de service générique qui fournit le baseURL pour l’appel et l’autorisation à utiliser pour la tâche.


method - Méthode
string. Obligatoire. Valeurs autorisées : OPTIONS, GET, HEAD, POST, DELETEPUT, , TRACE. PATCH Valeur par défaut : POST.

Spécifie la méthode HTTP qui appelle l’API.


headers - En-têtes
string. Valeur par défaut : {\n"Content-Type":"application/json"\n}.

Définit l’en-tête au format JSON. L’en-tête est joint avec la requête envoyée à l’API.


body - Corps
string. facultatif. Utilisez quand method != GET && method != HEAD. Valeur par défaut : {"JobId": "$(system.jobId)", "PlanId": "$(system.planId)", "TimelineId": "$(system.timelineId)", "ProjectId": "$(system.teamProjectId)", "VstsUrl": "$(system.CollectionUri)","AuthToken": "$(system.AccessToken)"}.

Spécifie le corps de la demande pour l’appel de fonction au format JSON.


urlSuffix - Chaîne de suffixe d’URL
string.

Spécifie la chaîne à ajouter à baseUrl à partir de la connexion de service générique lors de l’appel HTTP.

Exemple : si l’URL de connexion de service est https:...TestProj/_apis/Release/releases et que le suffixe d’URL est /2/environments/1, l’URL de connexion de service devient https:.../TestProj/_apis/Release/releases/2/environments/1. Si le suffixe d’URL est ?definitionId=1&releaseCount=1, l’URL de connexion de service devient https//...TestProj/_apis/Release/releases?definitionId=1&releaseCount=1.


waitForCompletion - Terminer en fonction de
string. Obligatoire. Valeurs autorisées : true (Callback), false (ApiResponse). Valeur par défaut : false.

Spécifie la façon dont la tâche signale l’achèvement. Les valeurs autorisées sont les suivantes :

  • false - Réponse de l’API : signale l’achèvement lorsque la fonction retourne la réussite dans les 20 secondes et que les critères de réussite sont évalués à true.
  • true - Rappel : signale l’achèvement lorsque le service externe effectue un rappel pour mettre à jour l’enregistrement chronologie.

successCriteria - Critères de réussite
string. facultatif. Utilisez quand waitForCompletion = false.

Spécifie les critères de réussite de la tâche. Le contenu de la réponse n’influence pas le résultat si aucun critère n’est défini. Par défaut, la tâche passe lorsque l’appel retourne 200 OK.

Exemple : Pour la réponse {"status" : "successful"}, l’expression peut être eq(root['status'], 'successful'). En savoir plus sur la spécification de conditions.


Options de contrôle de la tâche

Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâches. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.

Variables de sortie

Aucun.

Notes

Notes

Cette tâche ne peut être utilisée que dans un travail sans agent.

Réussit si l’API retourne la réussite et que l’analyse du corps de la réponse réussit, ou lorsque l’API met à jour l’enregistrement de chronologie avec succès.

La tâche Appeler une API REST n’effectue pas d’actions de déploiement directement. Au lieu de cela, elle vous permet d’appeler n’importe quelle API REST HTTP générique dans le cadre du pipeline automatisé et, éventuellement, d’attendre qu’elle soit terminée.

Configuration d’une tâche d’API REST d’appel

Pour plus d’informations sur l’utilisation de cette tâche, consultez Vue d’ensemble des approbations et des portes.

Quelles sont les URL de base utilisées lors de l’appel des API de gestion Azure ?

Les API de gestion Azure sont appelées à l’aide du ResourceManagerEndpoint de l’environnement sélectionné. Par exemple https://management.Azure.com , est utilisé lorsque l’abonnement se trouve dans un environnement AzureCloud .

Où une tâche doit-elle signaler l’achèvement lorsque Rappel est choisi comme événement d’achèvement ?

Pour signaler l’achèvement, le service externe doit publier (POST) les données d’achèvement sur le point de terminaison REST du pipeline suivant.

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

Pour plus d’informations, consultez cette application en ligne de commande simple.

En outre, une bibliothèque d’assistance C# est disponible pour activer la journalisation dynamique et gérer l’état des tâches sans agent. En savoir plus

Puis-je utiliser le corps de la réponse comme entrée pour une autre tâche ?

Non, car cette tâche est une tâche sans agent, et elle utilise la requête HttpRequest interne de TFS, qui ne retourne pas le contenu de la requête HTTP.

Configuration requise

Condition requise Description
Types de pipelines YAML, build classique, version classique
S’exécute sur Serveur, ServerGate
Demandes None
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commandes Quelconque
Variables settables Quelconque
Version de l’agent Toutes les versions d’agent prises en charge.
Catégorie de la tâche Déployer