Blog

Notifications, intégration Slack et webhooks

Chargement...

5 min de lecture

Notifications, intégration Slack et webhooks

Vous avez déjà voulu prévenir votre équipe ou vos clients qu’une nouvelle version de votre application venait d’être déployée sur Scalingo ? C’est désormais possible grâce à notre nouveau système de notifications, aux webhooks sortants et à l’intégration Slack.

How Scalingo makes migrating from Heroku easy

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 régulièrement des informations importantes aux utilisateurs concernant les évolutions et événements liés à la plateforme, à leurs applications ou à leur compte.
Avec ce nouveau système de notifications, vous pouvez désormais partager ces informations en dehors de notre plateforme.

C’est particulièrement utile pour tenir votre équipe informée des déploiements, mais aussi pour connecter différents systèmes entre eux.

Pour cette première version, un seul type de notification est disponible : les notifications de déploiement.
Elles vous permettent d’être informé à chaque fois qu’une nouvelle version de votre application est déployée.

Intégration Slack

L'intégration Slack est assez simple à mettre en place, à condition de savoir où chercher dans la configuration 🙂

Rendez-vous dans votre espace Slack, puis dans la section « Apps & integrations ».
Recherchez l’application « Incoming WebHooks », puis récupérez l’URL du webhook.

Copiez ensuite cette URL dans le champ prévu à cet effet, dans le sous-menu « Notifications » de votre application sur le dashboard Scalingo.

Scalingo Dashboard Slack Configuration Panel

Webhooks

Les webhooks offrent un moyen plus générique de communiquer avec des services externes à la plateforme Scalingo.

Une fois une URL renseignée dans le champ « Notifications » de votre application, nous enverrons une requête HTTP POST contenant les données (payload) décrites ci-dessous.

Scalingo Dashboard Webhooks Configuration Panel

Voici un exemple de payload JSON envoyé :

{
"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 plateformes d’automatisation les plus populaires sur le web. Elle fonctionne de manière similaire à IFTTT, que vous connaissez peut-être déjà.
Ces outils permettent de connecter différents services et API afin d’exécuter des scénarios automatisés.

Dans cet exemple, nous allons voir comment envoyer des emails de notification via un webhook (Scalingo ne propose pas encore l’envoi d’emails de notification nativement).

Rendez-vous sur le site de Zapier et cliquez sur « Make a Zap ».

Déclencheur (Trigger)

Pour configurer le déclencheur, recherchez l’application « Webhook by Zapier » puis choisissez « Catch Hook ».
Laissez le champ « Pick off a Child Key » vide et cliquez sur Continue.

Copiez l’URL du webhook fournie par Zapier, collez-la dans votre dashboard Scalingo, puis cliquez sur « OK, I did this ».

Zapier attend maintenant de recevoir une notification.
Retournez sur votre dashboard Scalingo et cliquez sur « Test webhook ».

Webhook Test Button

Action

Pour définir l’action à exécuter lors de la réception d’une notification, choisissez « Email by Zapier », puis l’option « Send Outbound Email ».

Configurez ensuite votre email :

  • indiquez le destinataire dans le champ « To »

  • utilisez les champs dynamiques (nom de l’app, statut du déploiement, etc.) dans l’objet et le corps du message via « Insert a Field »

Vous pouvez personnaliser le contenu de l’email selon vos besoins.

Zapier Email Body

Et voilà : vous recevez désormais un email de notification généré automatiquement par Zapier !

Scalingo Webhook Zapier Email Example

Bien sûr, ce scénario peut être adapté à de nombreux autres cas d’usage.

Et ensuite ?

Dans un prochain article, nous verrons comment créer un agent simple capable d’écouter les notifications de déploiement, puis d’installer automatiquement l’image Docker de votre application que nous avons générée pour vous.

Et bien entendu, de nouveaux types de notifications seront ajoutés dans le futur.

Restez connectés ! 🚀

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égradé arrière-plan section

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égradé arrière-plan section

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égradé arrière-plan section

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.