Vai al contenuto

Integrazione Slack

Un'integrazione Slack può essere aggiunta alla vostra installazione di Drovio Server. Permette agli utenti di avviare una chiamata da Slack, tramite comando slash oppure dal pulsante di chiamata, quest'ultimo richiedendo una convalida da parte di Slack. Si presenta sotto forma di un file JAR che aggiungete a Drovio Server e poi configurate. Dovrete creare un'applicazione Slack presso Slack.

Creare un'applicazione Slack

Recatevi su api.slack.com/apps, poi fate clic su Create New App.

Creare un'applicazione Slack

Inserite il nome che preferite, Drovio va bene, e selezionate uno spazio di lavoro di sviluppo dove potrete testare l'integrazione.

Nominare l'applicazione Slack

Comando slash

Nel riquadro di navigazione di sinistra, fate clic su Slash Commands, poi su Create New Command:

  • Command: /drovio
  • Request URL: https://url-del-vostro-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: spuntato
  • Fate clic su Save.

OAuth & Permissions

Nel riquadro di navigazione di sinistra, fate clic su OAuth & Permissions:

  • Redirect URLs: aggiungete https://url-del-vostro-drovio-server/slack/app/install.
  • Scopes: aggiungete i seguenti ambiti OAuth:
    • calls:write
    • commands
    • users:read
    • users:read.email

Event Subscriptions

Nel riquadro di navigazione di sinistra, fate clic su Event Subscriptions:

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

    Note

    Slack deve verificare questo URL, seguite quindi prima le istruzioni di Configurare Drovio Server. Potreste anche dover portare ignore_signature a true nella configurazione di Drovio Server perché l'URL sia convalidato.

  • Subscribe to bot events: fate clic su Add Bot User Event:

    • app_uninstalled
    • tokens_revoked
  • Fate clic su Save Changes.

Socket Mode (facoltativo)

Per evitare di esporre un punto di accesso pubblico, potete ricevere gli eventi da Slack tramite WebSocket. Nel riquadro di navigazione di sinistra, fate clic su Socket Mode:

  • Enable Socket Mode: On
  • Create il token dell'applicazione e conservatelo.

La configurazione dell'applicazione Slack è terminata. Nel riquadro di sinistra, fate clic su Basic Information: le informazioni che vi si trovano vi serviranno a configurare Drovio Server.

Configurare Drovio Server

Prima di configurare il plugin Slack, eseguite alcune istruzioni SQL con psql. Lanciate tutti gli script con l'utente drovio:

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

Copiate poi drovio-slack.jar nella cartella che preferite sulla macchina Drovio Server, per esempio /opt/drovio-slack, poi:

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

In cima al file di configurazione, modificate plugin_management:

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

Aggiungete poi una nuova voce in fondo al file, appena prima dell'ultima }:

,
"slack": {
  "client_id": "XXXXXXXXXXX.XXXXXXXXXXX",
  "client_secret": "XXXXXXXXXXXXXXXXXXXXXXX",
  "signing_secret": "XXXXXXXXXXXXXXXXXXXXXXXX",
  "app_redirect_uri": "https://url-del-vostro-drovio-server/slack/app/install",
  "launch_uri": "https://url-del-vostro-drovio-server/launch",
  "join_uri": "https://url-del-vostro-drovio-server/join/app",
  "enable_admin_emails": false,
  "ignore_signature": false,
  "websocket": false,
  "app_socket_token": "xapp-xxxxxxxxxxxxxxxxxxx"
}
  • client_id, client_secret e signing_secret devono riprendere i valori mostrati nella pagina di configurazione dell'applicazione Slack, in Basic Information.
  • Adattate gli URI a quelli del vostro Drovio Server.
  • enable_admin_emails invia un'e-mail all'indirizzo definito in smtp.admin_email quando uno spazio di lavoro installa o disinstalla l'applicazione. Vale false per impostazione predefinita.
  • Se avete configurato l'applicazione Slack in Socket Mode, portate websocket a true e valorizzate app_socket_token con il token creato in quell'occasione.
  • Potreste dover portare ignore_signature a true e avviare Drovio Server per poter convalidare l'URL delle Event Subscriptions nella configurazione dell'applicazione Slack, come indicato più sopra.

Una volta configurato tutto, riavviate il servizio, aprite Slack e recatevi nel vostro spazio di lavoro di sviluppo. Inserite /drovio help per cominciare.

Perché qui serve un riavvio

La maggior parte della configurazione di Drovio Server si applica a caldo, ma i plugin sono caricati solo all'avvio. Ogni modifica di plugin_management, compresa quella di questo plugin, prende effetto solo al riavvio successivo.

Integrazione con le chiamate Slack

Il comando /drovio senza parametri richiede una convalida da parte di Slack, dato che tocca la loro funzionalità di chiamata. Potrete inoltre definire Drovio come applicazione di chiamata predefinita in Slack.

Contattateci per saperne di più.