Aller au contenu

Intégration Slack

Une intégration Slack peut être ajoutée à votre installation de Drovio Server. Elle permet aux utilisateurs de démarrer un appel depuis Slack, par commande slash ou depuis le bouton d'appel, ce dernier nécessitant une validation de Slack. Elle se présente sous la forme d'un fichier JAR que vous ajoutez à Drovio Server puis configurez. Vous devrez créer une application Slack chez Slack.

Créer une application Slack

Rendez-vous sur api.slack.com/apps, puis cliquez sur Create New App.

Créer une application Slack

Saisissez le nom de votre choix, Drovio convient, et sélectionnez un espace de travail de développement où vous pourrez tester l'intégration.

Nommer l'application Slack

Commande slash

Dans le volet de navigation de gauche, cliquez sur Slash Commands, puis sur Create New Command :

  • Command : /drovio
  • Request URL : https://url-de-votre-drovio-server/slack/app/command
  • Short Description : Pair remotely with Drovio (the app must be installed)
  • Usage Hint : [help, invite, add]
  • Escape channels, users, and links sent to your app : coché
  • Cliquez sur Save.

OAuth & Permissions

Dans le volet de navigation de gauche, cliquez sur OAuth & Permissions :

  • Redirect URLs : ajoutez https://url-de-votre-drovio-server/slack/app/install.
  • Scopes : ajoutez les portées OAuth suivantes :
    • calls:write
    • commands
    • users:read
    • users:read.email

Event Subscriptions

Dans le volet de navigation de gauche, cliquez sur Event Subscriptions :

  • Enable Events : On
  • Request URL : https://url-de-votre-drovio-server/slack/app/event

    Note

    Slack doit vérifier cette URL, suivez donc d'abord les instructions de Configurer Drovio Server. Vous devrez peut-être aussi passer ignore_signature à true dans la configuration de Drovio Server pour que l'URL soit validée.

  • Subscribe to bot events : cliquez sur Add Bot User Event :

    • app_uninstalled
    • tokens_revoked
  • Cliquez sur Save Changes.

Socket Mode (facultatif)

Pour éviter d'exposer un point d'accès public, vous pouvez recevoir les événements de Slack par WebSocket. Dans le volet de navigation de gauche, cliquez sur Socket Mode :

  • Enable Socket Mode : On
  • Créez le jeton d'application et conservez-le.

La configuration de l'application Slack est terminée. Dans le volet de gauche, cliquez sur Basic Information : les informations qui s'y trouvent vous serviront à configurer Drovio Server.

Configurer Drovio Server

Avant de configurer le plugin Slack, exécutez quelques instructions SQL avec psql. Lancez tous les scripts avec l'utilisateur drovio :

psql drovio -U drovio -W < 01_1-0-0.sql
psql drovio -U drovio -W < 02_1-0-3.sql

Copiez ensuite drovio-slack.jar dans le dossier de votre choix sur la machine Drovio Server, par exemple /opt/drovio-slack, puis :

sudo nano /etc/drovio-server/settings.conf

En haut du fichier de configuration, modifiez plugin_management :

"plugin_management": {
  "plugins": [
    {
      "classpath": "/opt/drovio-slack/drovio-slack.jar",
      "path": "com.drovio.server.slack",
      "ext": "java",
      "base_address": "drovio.server.slack"
    }
  ]
},

Ajoutez ensuite une nouvelle entrée en bas du fichier, juste avant le dernier } :

,
"slack": {
  "client_id": "XXXXXXXXXXX.XXXXXXXXXXX",
  "client_secret": "XXXXXXXXXXXXXXXXXXXXXXX",
  "signing_secret": "XXXXXXXXXXXXXXXXXXXXXXXX",
  "app_redirect_uri": "https://url-de-votre-drovio-server/slack/app/install",
  "launch_uri": "https://url-de-votre-drovio-server/launch",
  "join_uri": "https://url-de-votre-drovio-server/join/app",
  "enable_admin_emails": false,
  "ignore_signature": false,
  "websocket": false,
  "app_socket_token": "xapp-xxxxxxxxxxxxxxxxxxx"
}
  • client_id, client_secret et signing_secret doivent reprendre les valeurs affichées sur la page de configuration de l'application Slack, dans Basic Information.
  • Adaptez les URI à celles de votre Drovio Server.
  • enable_admin_emails envoie un e-mail à l'adresse définie dans smtp.admin_email lorsqu'un espace de travail installe ou désinstalle l'application. Vaut false par défaut.
  • Si vous avez configuré l'application Slack en Socket Mode, passez websocket à true et renseignez app_socket_token avec le jeton créé à cette occasion.
  • Vous devrez peut-être passer ignore_signature à true et démarrer Drovio Server pour pouvoir valider l'URL des Event Subscriptions dans la configuration de l'application Slack, comme indiqué plus haut.

Une fois tout configuré, redémarrez le service, ouvrez Slack et rendez-vous dans votre espace de travail de développement. Saisissez /drovio help pour démarrer.

Pourquoi un redémarrage ici

La majeure partie de la configuration de Drovio Server s'applique à chaud, mais les plugins ne sont chargés qu'au démarrage. Toute modification de plugin_management, celle de ce plugin comprise, ne prend effet qu'au redémarrage suivant.

Intégration aux appels Slack

La commande /drovio sans paramètre nécessite une validation de Slack, puisqu'elle touche à leur fonctionnalité d'appel. Vous pourrez également définir Drovio comme application d'appel par défaut dans Slack.

Contactez-nous pour en savoir plus.