Blog

Notifications, intégration Slack et webhooks

Chargement...

5 min de lecture

Notifications, intégration Slack et webhooks

Vous avez toujours voulu informer vos coéquipiers ou vos clients que vous venez de déployer une nouvelle version de votre application sur Scalingo ? C'est maintenant possible grâce à notre nouveau système de notifications, de webhooks sortants et d'intégration Slack.

Avez-vous déjà souhaité informer vos coéquipiers ou votre client que vous avez déployé une nouvelle version de votre application sur Scalingo ? C'est désormais possible grâce à notre nouveau système de notifications, aux webhooks sortants et à l'intégration Slack.

Notifications

Chez Scalingo, nous transmettons souvent des informations importantes aux utilisateurs concernant des changements et des événements sur la plateforme, leurs applications et leurs comptes. Avec ce nouveau système de notifications, vous pourrez partager ces informations en dehors de notre plateforme. Cela permet de tenir vous et votre équipe informés des déploiements, tout en pouvant également être utilisé pour intégrer différents systèmes entre eux.

Dans cette première itération, un seul type de notification est implémenté : notification de déploiement. Cela vous permet d'être averti chaque fois qu'une nouvelle version de votre application est déployée.

Intégration Slack

L'intégration Slack est assez simple dès que vous pouvez accéder au bon panneau de configuration du côté de Slack :) En gros, allez sur votre compte Slack, puis rendez-vous sur "Applications et intégrations" et trouvez l'application "Incoming WebHooks". Cherchez l'"URL du webhook" et copiez/collez-la dans le champ de texte URL du sous-menu "Notifications" de votre application sur le tableau de bord Scalingo :



Scalingo Dashboard Slack Configuration Panel



Webhooks

Les webhooks sont un moyen plus générique de communiquer avec le monde extérieur à la plateforme de Scalingo. Une fois que vous avez spécifié une URL dans le champ de texte du panneau "Notifications" pour votre application, nous enverrons une requête HTTP POST avec les données de charge utiles que nous avons détaillées auparavant.



Scalingo Dashboard Webhooks Configuration Panel



Voici un exemple de la charge utile JSON qui est livrée :

{
"id": "54dcdd4a73636100011a0000",
"created_at" : "2015-02-12T18:05:14.226+01:00",
"user" : {
"username" : "johndoe",
"email" : "john@doe.com",
"id" : "51e6bc626edfe40bbb000001"
},
"app_id" : "5343eccd646173000a140000",
"app_name": "appname",
"type": "deployment",
"type_data": {
"deployment_id" : "5343eccd646aa3012a140230",
"pusher": "johndoe",
"git_ref" : "0123456789abcdef",
"status": "success",
"duration": 40
}
}
{
"id": "54dcdd4a73636100011a0000",
"created_at" : "2015-02-12T18:05:14.226+01:00",
"user" : {
"username" : "johndoe",
"email" : "john@doe.com",
"id" : "51e6bc626edfe40bbb000001"
},
"app_id" : "5343eccd646173000a140000",
"app_name": "appname",
"type": "deployment",
"type_data": {
"deployment_id" : "5343eccd646aa3012a140230",
"pusher": "johndoe",
"git_ref" : "0123456789abcdef",
"status": "success",
"duration": 40
}
}
{
"id": "54dcdd4a73636100011a0000",
"created_at" : "2015-02-12T18:05:14.226+01:00",
"user" : {
"username" : "johndoe",
"email" : "john@doe.com",
"id" : "51e6bc626edfe40bbb000001"
},
"app_id" : "5343eccd646173000a140000",
"app_name": "appname",
"type": "deployment",
"type_data": {
"deployment_id" : "5343eccd646aa3012a140230",
"pusher": "johndoe",
"git_ref" : "0123456789abcdef",
"status": "success",
"duration": 40
}
}
{
"id": "54dcdd4a73636100011a0000",
"created_at" : "2015-02-12T18:05:14.226+01:00",
"user" : {
"username" : "johndoe",
"email" : "john@doe.com",
"id" : "51e6bc626edfe40bbb000001"
},
"app_id" : "5343eccd646173000a140000",
"app_name": "appname",
"type": "deployment",
"type_data": {
"deployment_id" : "5343eccd646aa3012a140230",
"pusher": "johndoe",
"git_ref" : "0123456789abcdef",
"status": "success",
"duration": 40
}
}

Exemple de webhook avec Zapier

Zapier est l'une des meilleures plateformes d'automatisation sur le web. Elle est très similaire à IFTTT que vous connaissez peut-être mieux. Les deux services vous permettent d'interconnecter divers services et API et d'exécuter des scénarios prédéfinis. Dans cet exemple, nous allons voir comment envoyer des courriels de notification en utilisant le webhook de notification (Scalingo ne fournit pas de courriels de notification pour le moment). Nous verrons dans cet exemple comment utiliser le système de webhook de Notification et Zapier pour envoyer des courriels de notification sans l'implication de Scalingo !

Allez sur le site Zapier et cliquez sur le bouton "Créer un zap".

Déclencheur

Pour configurer le déclencheur de notre Zap, recherchez l'application "Webhook par Zapier" puis sélectionnez "Catch Hook". Laissez le champ "Pick off a Child Key" vide et cliquez sur continuer. Copiez l'URL du webhook que vous donne Zapier et collez-la dans le tableau de bord Scalingo, puis cliquez sur le bouton "OK, je l'ai fait".

Maintenant, Zapier recherche une notification à envoyer, alors retournez sur votre tableau de bord Scalingo et cliquez sur le bouton "Tester le webhook".



Webhook Test Button



Action

Pour créer l'action qui sera effectuée lorsque la notification sera envoyée, choisissez l'application "Email par Zapier" puis sélectionnez l'option "Envoyer un courriel sortant".

Maintenant, nous allons configurer l'Email qui sera envoyé. Écrivez votre courriel dans le champ "À". Dans le sujet et le corps, vous pouvez utiliser les données qui ont été envoyées dans le webhook comme le nom de l'application ou le statut du déploiement en cliquant sur le bouton "Insérer un champ".

Voici le corps complet de notre courriel, mais vous pouvez également personnaliser le vôtre :)



Zapier Email Body



Et voilà, voici un joli courriel de notification envoyé par Zapier !



Scalingo Webhook Zapier Email Example



Bien sûr, vous pouvez adapter ce scénario selon vos besoins !

À quoi s'attendre ?

Dans un prochain article de blog, nous aborderons la façon de créer un simple agent écoutant les notifications de déploiement et d'installer en conséquence l'image Docker de votre application que nous avons construite pour vous.

Et bien sûr, nous mettrons également en œuvre de nouveaux types de notification à l'avenir.

Restez à l'écoute !

Yann Klis, Scalingo

Yann Klis

Yann KLIS a fondé Scalingo en 2015 avec son associé Léo Unbekandt avec la vision de proposer une plateforme cloud d'hébergement web, véritable alternative européenne et souveraine aux géants américains. Aujourd'hui Scalingo héberge plusieurs milliers d'applications web déployées par des clients du monde entier ! L'objectif de Scalingo est de devenir la plateforme cloud de référence pour les développeurs web en Europe. Auparavant, il a fondé Novelys, un studio de développement spécialisé dans la technologie Ruby on Rails.

Restez informé

Recevez des articles et des mises à jour de la plateforme dans votre boîte de réception.

Prêt à déployer en toute confiance ?

Découvrez des déploiements sans temps d'arrêt, une mise à l'échelle automatique intelligente et une infrastructure entièrement gérée. Commencez à déployer vos applications sur Scalingo dès aujourd'hui.

Aucune carte de crédit requise • Déployez en quelques minutes • Annulez à tout moment

Déployez une application ou base de données

Commencez à déployer

Rejoignez les équipes qui misent sur une plateforme conçue pour livrer rapidement, opérer sereinement, avec des valeurs européennes et un support humain.

Déployez une application ou base de données

Commencez à déployer

Rejoignez les équipes qui misent sur une plateforme conçue pour livrer rapidement, opérer sereinement, avec des valeurs européennes et un support humain.

Déployez une application ou base de données

Commencez à déployer

Rejoignez les équipes qui misent sur une plateforme conçue pour livrer rapidement, opérer sereinement, avec des valeurs européennes et un support humain.