Skip to main content

Kennenlernen des Entwicklungs-Frameworks Bolt

Lernziele 

Nachdem Sie diese Lektion abgeschlossen haben, sind Sie in der Lage, die folgenden Aufgaben auszuführen:

  • Erläutern, was Bolt ist
  • Erklären der gängigsten APIs, die von Slack-Apps verwendet werden
  • Angeben der Bereiche, die Slack-Apps dazu berechtigen, Nachrichten zu lesen und zu schreiben

Bevor Sie beginnen

In diesem Modul erläutern wir die Schritte zur Erstellung einer einfachen Slack-App mit dem Entwicklungs-Framework Bolt for JavaScript. Die Durchführung dieser Schritte ist optional, und es gibt keine praktischen Aufgaben. Wenn Sie die Schritte jedoch nachvollziehen und selbst ausprobieren möchten, benötigen Sie Folgendes:

  • Einen persönlichen Slack-Workspace. Sie können einen persönlichen Slack-Workspace einrichten, falls Sie das noch nicht getan haben. Wenn Sie vom Arbeitgeber bereitgestellte Workspaces oder Ressourcen verwenden möchten, sollten Sie prüfen, ob dies laut den Unternehmensrichtlinien zulässig ist.
  • Glitch, ngrok oder eine andere Host-Umgebung zum Entwickeln und Testen von Slack-Apps. In diesem Modul verwenden wir Glitch. Falls Sie keinen Glitch-Account haben, können Sie sich einen kostenlosen Account erstellen.

Was ist Bolt?

Bolt ist ein Entwicklungs-Framework, das es Ihnen erleichtert, Slack-Apps mit den neuesten Funktionen der Slack-Plattform zu erstellen. Es nutzt eine Listener-Schnittstelle, die gängige Muster beim Umgang mit Anforderungen von Slack ermöglicht, und zwar unabhängig von deren Typ.

Zudem verfügt Bolt über eine Reihe integrierter Standardfunktionen wie OAuth-Support, Überprüfung von Ereignissen und eine vereinfachte Schnittstelle für Funktionen wie Workflow-Schritte aus Apps. Dieses Modul gibt einen Überblick über die APIs in Slack, die Listener-Muster von Bolt und die Erstellung einer Bolt for JavaScript-App.

Slack-APIs auf einen Blick

Bevor Sie mit der App-Erstellung mit Bolt beginnen, ist ein grundlegendes Verständnis von APIs (Application Programming Interfaces) sinnvoll. Wenn Sie nicht mit APIs vertraut sind, sollten Sie sich das Modul API-Grundlagen ansehen.

Slack-Apps können auf eine Reihe von APIs zugreifen, die den Zugriff zum Lesen, Schreiben und Ändern von Daten in Slack ermöglichen. Am häufigsten werden die beiden APIs Web-API und Ereignis-API für Apps verwendet. Die beiden APIs werden dabei im Wechsel eingesetzt. Slack verwendet die Ereignis-API, um ein Ereignis an Ihre App zu senden. Ihre App verwendet die Web-API, um eine Interaktion zurückzusenden.

Ereignis-API

Die Ereignis-API verwendet Ereignis-Abonnements, um JSON-Payloads mittels HTTP an Ihre App zu senden. Wenn Ihre App ein Ereignis empfängt, bestätigt sie die Payload und entscheidet, welche Aktion durchgeführt werden soll. Ein Ereignis kann alles Mögliche sein, das außerhalb eines Workspace geschieht: eine in einem Channel gepostete Nachricht, ein Benutzer, der die Registerkarte “Home” Ihrer App öffnet, oder ein neuer Benutzer, der dem Workspace beitritt. Die vollständige Liste der Ereignisse mit Beispiel-Payloads finden Sie auf der Website "Slack API".

Bolt verfügt über integrierte Hilfsfunktionen für den Empfang und die Weiterleitung von Ereignissen zu den Listenern Ihrer App und die Anzeige hilfreicher Informationen wie den Workspace und relevante Benutzer oder Channel. Mehr zu Listenern erfahren Sie später in diesem Modul.

Web-API

Die Web-API ist eine Sammlung von HTTP-Methoden mit ähnlichen Aufrufkonventionen für die Interaktion mit Objekten in Slack, wie Channeln, Unterhaltungen, Ereignissen und mehr. Zu diesen Interaktionen zählt das Senden umfangreicher, interaktiver Nachrichten an einen Channel oder eine andere Oberfläche oder das Abfragen von Workspace-Informationen wie die Benutzerliste. Die vollständige Liste der Web-API-Methoden finden Sie auf der Website "Slack API". Bolt verfügt über einen integrierten Client mit Funktionen wie Grenzwertberücksichtigung und Wiederholungslogik, um Aufrufe und die Verarbeitung von Antworten auf Web API-Anforderungen zu erleichtern. 

Und für Nischenanwendungsfälle wie die Verwaltung eines Workspace oder die Durchführung von Sicherheitsprüfungen werden weitere APIs in der Dokumentation angegeben.

Sind Sie bereit, Bolt für Ihre erste App zu verwenden? Los geht's!

Erstellen einer Slack-App

Zunächst müssen Sie eine neue Slack-App erstellen. Sie können entweder eine ganz neue App erstellen oder eine Manifestvorlage nutzen. Verwenden Sie für dieses Modul ein Manifest, das bereits mit Berechtigungen und Ereignissen konfiguriert wurde. Sie können die App auf Wunsch später noch ändern. 

  1. Erstellen Sie eine neue Slack-App mit unserer Manifestvorlage. Der Link öffnet ein Browserfenster mit einem Dropdown-Menü, aus dem Sie den Entwicklungs-Workspace auswählen, indem Sie Ihre App erstellen und testen möchten.
  2. Wählen Sie Ihren Workspace aus und klicken Sie auf Weiter. In unserem Beispiel ist der Workspace "SeaMoss" markiert.Modales Fenster 'Pick a workspace to develop your app' mit in der Dropdown-Liste markiertem Workspace 'SeaMoss'
  3. Nach der Auswahl des Workspace wird ein weiteres Popup-Fenster eingeblendet: "Review summary & create your app (Zusammenfassung prüfen & App erstellen)". Dieses Fenster enthält Informationen über die Berechtigungen und Ereignisse, die Ihre App enthalten wird. Darauf gehen wir später noch ausführlicher ein. Klicken Sie auf Create (Erstellen).
  4. Sie gelangen nun automatisch zur Seite "Grundlegende Informationen" Ihrer App namens "Sample". Klicken Sie in der Begrüßungsnachricht auf Got It (Okay).

Die Seite "Grundlegende Informationen" enthält eine Übersicht über Ihre App und die wichtigen Anmeldeinformationen, die Sie für die Verwendung der Ereignis- und Web-APIs benötigen, wie etwa den geheimen Unterzeichnungsschlüssel unter "Anmeldeinformationen für App".

Schauen Sie sich ruhig ein bisschen um, fügen Sie ein App-Symbol und eine Beschreibung hinzu, und dann sehen wir uns die anderen Konfigurationsoptionen genauer an.

Anforderungsbereiche und Installation der App

Durch Bereiche erhält Ihre App die Berechtigung, Web API-Aufrufe im installierten Workspace durchzuführen (um beispielsweise eine Nachricht zu posten). Zur Auswahl der Bereiche, die zu Ihrer App hinzufügt werden sollen, navigieren Sie zur Seite "OAuth & Berechtigungen" in der Randleiste.

  1. Wählen Sie auf der Seite Ihrer App OAuth & Permissions (OAuth & Berechtigungen) aus der Randleiste aus.Seite 'OAuth & Berechtigungen' mit rotem Pfeil, der auf den Abschnitt 'OAuth & Berechtigungen' in der Randleiste zeigt
  2. Scrollen Sie nach unten bis zu "Bereiche". Hier sehen Sie die Bot-Token-Bereiche channels:history und chat:write, die bei der Erstellung Ihrer App aus dem Manifest hinzugefügt wurden. Diese Bereiche berechtigen Ihre App dazu, Nachrichten in offenen Channels zu posten, deren Mitglied sie ist. Wenn Sie Nachrichten in geschlossenen Channels und Direktnachrichten (DMs) verfolgen möchten, deren Mitglied Ihre App ist, müssen Sie weitere *:history-Bereiche abonnieren, die dem Channel-Typ entsprechen.
  3. Gehen Sie zum Anfang der Seite "OAuth & Berechtigungen" zurück und klicken Sie auf Install to Workspace (In Workspace installieren).
  4. Klicken Sie anschließend auf Allow (Erlauben).Die App 'Sample' fragt die Berechtigung zum Zugriff auf den Slack-Workspace 'SeaMoss' an

Nach der Installation gelangen Sie wieder zurück zur Seite "OAuth & Berechtigungen", wo ein neues OAuth-Zugriffs-Token für Bot-Benutzer angezeigt wird.

Zugriffstoken sind "mächtig". Sie stehen für die Berechtigungen, die der installierende Benutzer (in diesem Fall Sie selbst) Ihrer App eingeräumt hat.

Denken Sie daran, Ihr Zugriffstoken geheim zu halten. Zumindest sollten Sie es nicht in ein öffentliche Versionskontrollsystem einchecken und über eine Umgebungsvariable darauf zugreifen. In der API-Dokumentation finden Sie auch eine Liste der bewährten Methoden für App-Sicherheit.

Hinzufügen Ihrer App zu einem Channel

Bevor Sie Ihre App hosten, entwickeln und testen, wie in der nächsten Lektion beschrieben, müssen Sie sie zu einem offenen Channel hinzufügen. Bei diesem Beispiel wird die App "Sample" aus dem Workspace "SeaMoss" zum Channel #general hinzugefügt.

  1. Öffnen Sie Ihren Slack-Workspace.
  2. Klicken Sie mit der rechten Maustaste auf den Channel in Ihrem persönlichen Workspace.
  3. Klicken Sie auf Open channel details (Channel-Details öffnen).Der Channel #general ist markiert, und der Mauszeiger befindet sich auf 'Channel-Details öffnen'
  4. Klicken Sie dann auf die Registerkarte Integrations (Integrationen).
  5. Klicken Sie auf Add an App (Eine App hinzufügen).Modales Fenster #general mit geöffneter Registerkarte 'Integrations (Integrationen)' und rot umrandeter Schaltfläche 'Eine App hinzufügen', auf die ein roter Pfeil zeigt
  6. Wenn Sie Ihre App nicht sofort finden, suchen Sie mit dem Suchfeld danach. Klicken Sie dann neben Ihrer App auf Add (Hinzufügen). Dialogfeld 'Apps zu #general hinzufügen' mit rot umrandeter Schaltfläche 'Hinzufügen' für die App 'Sample', auf die ein roter Pfeil zeigt

Im Channel #general sollte jetzt Ihre hinzugefügte App zu sehen sein. Sie können Ihre App jetzt hosten und entwickeln!

Channel-Nachricht, die besagt, dass FS3 mit sample_app dem Channel #general beigetreten ist

Ressourcen

Lernen Sie weiter kostenlos!
Registrieren Sie sich für einen Account, um fortzufahren.
Was ist für Sie drin?
  • Holen Sie sich personalisierte Empfehlungen für Ihre Karriereplanung
  • Erproben Sie Ihre Fähigkeiten mithilfe praktischer Aufgaben und Quizze
  • Verfolgen Sie Ihre Fortschritte nach und teilen Sie sie mit Arbeitgebern
  • Nutzen Sie Mentoren und Karrierechancen