Zum Inhalt

Slack-Integration

Ihrer Installation von Drovio Server kann eine Slack-Integration hinzugefügt werden. Sie erlaubt Benutzern, einen Anruf direkt aus Slack heraus zu starten, per Slash-Befehl oder über die Anruf-Schaltfläche, wobei Letztere eine Freigabe durch Slack erfordert. Sie wird als JAR-Datei ausgeliefert, die Sie zu Drovio Server hinzufügen und anschließend konfigurieren. Sie müssen bei Slack eine Slack-App erstellen.

Eine Slack-App erstellen

Rufen Sie api.slack.com/apps auf und klicken Sie dann auf Create New App.

Eine neue Slack-App erstellen

Geben Sie einen Namen Ihrer Wahl ein, Drovio ist gut geeignet, und wählen Sie einen Entwicklungs-Workspace, in dem Sie die Integration testen können.

Die Slack-App benennen

Slash-Befehl

Klicken Sie im linken Navigationsbereich auf Slash Commands und dann auf Create New Command:

  • Command: /drovio
  • Request URL: https://ihre-drovio-server-url/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: aktiviert
  • Klicken Sie auf Save.

OAuth & Permissions

Klicken Sie im linken Navigationsbereich auf OAuth & Permissions:

  • Redirect URLs: fügen Sie https://ihre-drovio-server-url/slack/app/install hinzu.
  • Scopes: fügen Sie die folgenden OAuth-Scopes hinzu:
    • calls:write
    • commands
    • users:read
    • users:read.email

Event Subscriptions

Klicken Sie im linken Navigationsbereich auf Event Subscriptions:

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

    Note

    Slack muss diese URL überprüfen. Folgen Sie deshalb zuerst der Anleitung unter Drovio Server konfigurieren. Möglicherweise müssen Sie zusätzlich ignore_signature in der Konfiguration von Drovio Server auf true setzen, damit die URL bestätigt wird.

  • Subscribe to bot events: klicken Sie auf Add Bot User Event:

    • app_uninstalled
    • tokens_revoked
  • Klicken Sie auf Save Changes.

Socket Mode (optional)

Um keinen öffentlichen Endpunkt bereitstellen zu müssen, können Sie die Ereignisse von Slack über WebSocket empfangen. Klicken Sie im linken Navigationsbereich auf Socket Mode:

  • Enable Socket Mode: On
  • Erstellen Sie das App-Token und bewahren Sie es auf.

Die Konfiguration der Slack-App ist damit abgeschlossen. Klicken Sie im linken Bereich auf Basic Information: Die dort angezeigten Informationen benötigen Sie, um Drovio Server zu konfigurieren.

Drovio Server konfigurieren

Führen Sie vor der Konfiguration des Slack-Plugins einige SQL-Anweisungen mit psql aus. Starten Sie alle Skripte mit dem Benutzer drovio:

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

Kopieren Sie anschließend drovio-slack.jar in ein Verzeichnis Ihrer Wahl auf der Drovio-Server-Maschine, zum Beispiel /opt/drovio-slack, und dann:

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

Ändern Sie oben in der Konfigurationsdatei plugin_management:

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

Fügen Sie anschließend unten in der Datei einen neuen Eintrag hinzu, direkt vor der letzten }:

,
"slack": {
  "client_id": "XXXXXXXXXXX.XXXXXXXXXXX",
  "client_secret": "XXXXXXXXXXXXXXXXXXXXXXX",
  "signing_secret": "XXXXXXXXXXXXXXXXXXXXXXXX",
  "app_redirect_uri": "https://ihre-drovio-server-url/slack/app/install",
  "launch_uri": "https://ihre-drovio-server-url/launch",
  "join_uri": "https://ihre-drovio-server-url/join/app",
  "enable_admin_emails": false,
  "ignore_signature": false,
  "websocket": false,
  "app_socket_token": "xapp-xxxxxxxxxxxxxxxxxxx"
}
  • client_id, client_secret und signing_secret übernehmen die Werte, die auf der Konfigurationsseite der Slack-App unter Basic Information angezeigt werden.
  • Passen Sie die URIs an die Ihres Drovio Server an.
  • enable_admin_emails sendet eine E-Mail an die in smtp.admin_email festgelegte Adresse, wenn ein Workspace die App installiert oder deinstalliert. Der Standardwert ist false.
  • Wenn Sie die Slack-App im Socket Mode konfiguriert haben, setzen Sie websocket auf true und tragen Sie in app_socket_token das dabei erstellte Token ein.
  • Möglicherweise müssen Sie ignore_signature auf true setzen und Drovio Server starten, um die URL der Event Subscriptions in der Konfiguration der Slack-App bestätigen zu können, wie weiter oben beschrieben.

Sobald alles konfiguriert ist, starten Sie den Dienst neu, öffnen Slack und wechseln in Ihren Entwicklungs-Workspace. Geben Sie /drovio help ein, um loszulegen.

Warum hier ein Neustart nötig ist

Der größte Teil der Konfiguration von Drovio Server wird im laufenden Betrieb übernommen, Plugins werden jedoch nur beim Start geladen. Jede Änderung an plugin_management, auch die dieses Plugins, wird erst beim nächsten Neustart wirksam.

Integration in Slack-Anrufe

Der Befehl /drovio ohne Parameter erfordert eine Freigabe durch Slack, da er deren Anruffunktion betrifft. Sie können Drovio außerdem als Standard-Anrufanwendung in Slack festlegen.

Kontaktieren Sie uns, um mehr zu erfahren.