Aller au contenu

Notification du statut de l'exécution d'un pipline avec un bot Discord sur Drone

·162 mots·1 min
Sommaire

J’ai récemment rencontré un soucis avec mon instance de Drone.io, puisque les certificats étaient expirés.

Comme d’habitude avec Drone, tout fonctionne avec des containers Docker. Joie (et cotillons! 🕺), il en existe un: drone-discord (comme c’est original).

Ajout d’une étape au pipeline
#

) L’objectif est d’arriver à recevoir un message indiquant le statut du build.

En adaptant le pipeline à partir de la documentation, j’arrive à ceci:

  - name: discord notification
    image: appleboy/drone-discord
    settings:
      webhook_id:
        from_secret: discord_webhook_id
      webhook_token:
        from_secret: discord_webhook_token
      message: >
        {{#success build.status}}
          build {{build.number}} succeeded. Good job.
        {{else}}
          build {{build.number}} failed. Fix me please.
        {{/success}}        
    when:
      status:
        - failure
        - success

Assignation des variables d’environnement
#

Dans la configuration ci-dessus, on s’attend à avoir deux variables d’environnement:

  • discord_webhook_id
  • discord_webhook_token

Ces variables peuvent être récupérées au niveau de la configuration du salon de Discord, puis configurées au niveau de Drone.

Un webhook se présente de la manière suivante : https://discord.com/api/webhooks/<webhook_id>/<webhook_token>.

Résultat
#

Après configuration des variables, cela donne ceci 😋