Automation Pipelines fournit un plug-in REST qui vous permet d'intégrer Automation Pipelines à d'autres applications qui utilisent une REST API afin de pouvoir développer et fournir en continu des applications logicielles qui doivent interagir entre elles. Le plug-in REST appelle une API qui échange des informations entre Automation Pipelines et une autre application.

Avec le plug-in REST, vous pouvez effectuer les opérations suivantes :

  • Intégrez des systèmes basés sur des REST API externes dans un pipeline Automation Pipelines.
  • Intégrez un pipeline Automation Pipelines dans le flux de systèmes externes.

Le plug-in REST fonctionne avec n'importe quelle REST API et prend en charge les méthodes GET, POST, PUT, PATCH et DELETE pour échanger des informations entre Automation Pipelines et d'autres applications.

Tableau 1. Préparation d'un pipeline pour communiquer sur REST API
Actions Résultat obtenu
Ajoutez une tâche REST à votre pipeline.

La tâche REST transmet les informations entre les applications et peut fournir des informations relatives à l'état pour une tâche consécutive de l'étape du pipeline.

Dans la tâche REST, sélectionnez l'action REST et indiquez l'URL.

La tâche de pipeline appelle l'URL lorsque le pipeline s'exécute.

Pour les actions POST, PUT et PATCH, vous devez inclure une charge utile. Dans la charge utile, vous pouvez lier vos propriétés de pipeline et de tâche lorsque le pipeline s'exécute.

Observez l'exemple suivant.

Exemple d'utilisation du plug-in REST :

Vous pouvez ajouter une tâche REST pour obtenir les informations nécessaires à une tâche de pipeline suivante.

À l'instar de l'utilisation du plug-in REST pour appeler une API, vous pouvez inclure une tâche d'interrogation dans votre pipeline pour appeler une REST API et l'interroger jusqu'à ce qu'elle se termine et que la tâche de pipeline réponde aux critères de sortie. Reportez-vous à la section Types de tâches disponibles dans Automation Pipelines.

Vous pouvez également utiliser les REST API pour importer et exporter un pipeline, et utiliser les exemples de script pour exécuter un pipeline.

Dans cette procédure, la tâche REST obtient une balise de build à partir d'un service et une tâche CI suivante utilise la balise de build pour obtenir un numéro de build CICD.

Procédure

  1. Pour créer un pipeline, cliquez sur Pipelines > Nouveau pipeline > Canevas vide.
  2. Dans votre étape de pipeline, cliquez sur + Tâche séquentielle.
  3. Dans le volet des tâches, ajoutez la tâche REST :
    1. Entrez un nom pour la tâche.
    2. Dans le menu déroulant Type, sélectionnez REST.
    3. Dans la zone Demande REST, sélectionnez GET.
      Pour que la tâche REST demande des données auprès d'une autre application, vous devez sélectionner la méthode GET. Pour envoyer des données à une autre application, vous sélectionnez la méthode POST.
    4. Entrez l'URL qui identifie le point de terminaison REST API utilisé pour obtenir la balise de build. Par exemple :
      https://devops.mycompany.com:8001/job/service-build/api/json
      Note : Automation Pipelines ne prend pas en charge %2F comme codage d'URL pour / comme dans :
      https://gitlab.com/api/v4/projects/1234567/repository/files/FOLDERNAME%2Ftest.yaml
      Lorsque vous spécifiez le point de terminaison REST API, utilisez un format d'URL de base tel que :
      https://gitlab.com/api/v4/projects/1234567/repository/files/FOLDERNAME/test.yaml
      Pour qu'une tâche REST importe des données d'une autre application, vous pouvez inclure la variable de charge utile. Par exemple, pour une action d'importation, vous pouvez entrer ${Stage0.export.responseBody}. Si la taille des données de réponse dépasse 5 Mo, la tâche REST peut échouer.
    5. Pour accorder une autorisation pour la tâche, cliquez sur Ajouter des en-têtes et entrez des clés et valeurs d'en-tête, telles que :
      Key Valeur
      Accepter application/json
      Type de contenu application/json
    Lorsque vous ajoutez une tâche REST et configurez la demande REST, vous sélectionnez l'action, entrez l'URL et ajoutez des en-têtes pour autorisation.
  4. Ajoutez une tâche suivante qui utilise les informations de la réponse de la tâche REST.
  5. Pour enregistrer votre pipeline, cliquez sur Enregistrer.
  6. Dans l'onglet Pipeline, cliquez sur Activer le pipeline.
    Avant que le pipeline puisse s'exécuter, vous devez l'activer.
  7. Cliquez sur Enregistrer, puis sur Fermer.
  8. Cliquez sur Exécuter.
  9. Pour surveiller l'exécution du pipeline, cliquez sur Exécutions.
    Après le début d'exécution du pipeline, vous pouvez observer l'état du pipeline en cours d'exécution.
  10. Pour vérifier que la tâche REST renvoie les informations attendues, examinez l'exécution du pipeline et les résultats de la tâche.
    1. Une fois le pipeline terminé, pour vérifier que l'autre application a renvoyé les données que vous avez demandées, cliquez sur le lien vers l'exécution du pipeline.
    2. Cliquez sur la tâche REST dans le pipeline.
    3. Dans l'exécution du pipeline, cliquez sur la tâche, examinez-en les détails et vérifiez que le tâche REST a renvoyé les résultats attendus.
      Les détails de la tâche affichent le code, le corps, les clés d'en-tête et les valeurs de la réponse.
      Les détails de la tâche REST affichent l'état TERMINÉ, le code de réponse, le corps de la réponse, ainsi que les clés et les valeurs d'en-tête.
  11. Pour examiner le résultat JSON, cliquez sur EXAMINER LE RÉSULTAT JSON.
    La sortie JSON de la tâche REST affiche les en-têtes de la réponse et le corps de la réponse, et inclut la recherche de chemin d'accès pour la recherche du contenu.

Résultats

Félicitations ! Vous avez configuré une tâche REST qui a appelé une REST API et échangé des informations entre Automation Pipelines et une autre application en utilisant le plug-in REST.

Que faire ensuite

Continuez à utiliser des tâches REST dans vos pipelines pour exécuter des commandes et intégrer Automation Pipelines à d'autres applications afin de pouvoir développer et proposer vos applications logicielles. Envisagez l'utilisation de tâches d'interrogation pour interroger l'API jusqu'à ce qu'elle se termine et que la tâche de pipeline réponde aux critères de sortie.