Hubot-Integrationsleitfaden

PagerDuty kann an jedem Chatraum teilnehmen, der Hubot Dank der Unterstützung von GitHub und den Mitwirkenden. Um die Integration von PagerDuty und Hubot zu demonstrieren, wurde diese Integrationsanleitung mithilfe von Slack erstellt.

Für diese Integration wird ein PagerDuty -API-Schlüssel benötigt, der nur von einem Administrator oder dem Kontoinhaber erstellt werden kann.

Was Sie benötigen

  • GitHub-Konto
  • Heroku-Konto
  • Heroku Toolbelt installiert
  • Chat-Client Ihrer Wahl (wir haben in dieser Integrationsanleitung Slack verwendet).
  • Aktualisierte Version von Node (NPM)

Erste Schritte

  1. Besuchen Sie das Hubot Pager Me-Repository und Klonen Sie die PagerDuty Hubot-Dateien
     git clone https://github.com/{your-github-username}/hubot-pager-me.git 
  2. Wechseln Sie in Ihr hubot-pager-me-Verzeichnis.
     cd hubot-pager-me 
  3. Als Nächstes laden Sie die Hubot-Module :
    1. Führen Sie die folgenden Befehle aus:
       npm install -g yo Generator-Hubot 
       mkdir myhubot 
       CD MyHubot 
       yo hubot 
    2. Nach dem Ausführen von „yo hubot“ werden Ihnen eine Reihe von Fragen darüber gestellt, wer den Bot erstellt hat und welche Adapter Sie werden den folgenden Adapter verwenden. Wenn Sie gefragt werden, welchen Adapter Sie verwenden werden, geben Sie den Namen des Adapters ein; hier verwenden wir Slack. hubot__1_
  4. Als Nächstes möchten wir Hubot und das PagerDuty Repository verknüpfen.
    1. In Ihrem Hubot-Repository , laufen:
       npm install hubot-pager-me --save 
    2. Hinzufügen 'hubot-pager-me' Zu external-scripts.json hubot__2_
    3. In Ihrem hubot-pager-me-Repository , laufen:
       npm install 
    4. In Ihrem hubot-pager-me Repository , laufen:
       npm-Link 
    5. In Ihrem Hubot-Verzeichnis , laufen:
       npm link hubot-pager-me 

In Slack

  1. Gehe zu Slack und klicke auf die 'v' Symbol und Auswahl Apps & Integrationen
    hubot__3_
  2. Durchsuchen Sie das App-Verzeichnis nach Hubot
  3. Klicken Sie, um C konfigurieren Hubot
    hubot__4_
  4. Um eine neue Konfiguration zu erstellen, klicken Sie hier. Konfiguration hinzufügen
  5. Geben Sie einen Benutzernamen für Ihren Hubot ein und klicken Sie auf Hubot-Integration hinzufügen
    hubot__6_
  6. Auf der nächsten Seite kopieren Sie bitte das Hubot Slack-Token in Ihre Zwischenablage; wir werden es später als Umgebungsvariablen verwenden.
  7. Klicken Integration speichern
  8. Gehe in Slack zu dem Kanal, in dem du deinen Hubot verwenden möchtest, und lade ihn mit folgender Eingabe zum Beitritt ein: @ Benutzername deines Hubots
    hubot__7_

In PagerDuty

  1. vom Konfiguration Menü auswählen Dienstleistungen.
  2. Auf Ihrer Serviceseite: Wenn Sie einen neuen Service für Ihre Integration erstellen, klicken Sie auf +Neuen Dienst hinzufügen Wenn Sie Ihre Integration zu einem bestehenden Dienst hinzufügen, klicken Sie auf den Namen des Dienstes, dem Sie die Integration hinzufügen möchten. Klicken Sie anschließend auf Integrationen Tabulatortaste und klicken Sie auf +Neue Integration Taste.
    RS-Add-New-ServiceRS-Add-Integration-Existing-Service
  3. Wählen Sie Ihre App aus der Integrationstyp Menü und geben Sie ein Integrationsname Wenn Sie einen neuen Dienst für Ihre Integration erstellen, geben Sie in den allgemeinen Einstellungen einen Namen ein. Name für Ihren neuen Service. Geben Sie dann in den Vorfalleinstellungen Folgendes an: Eskalationsrichtlinie , Dringlichkeit der Benachrichtigung , Und Vorfallverhalten für Ihren neuen Service.
  4. Klicken Sie auf Dienst hinzufügen oder Integration hinzufügen Klicken Sie auf diese Schaltfläche, um Ihre neue Integration zu speichern. Sie werden anschließend zur Integrationsseite Ihres Dienstes weitergeleitet.
    RS-Integration-Settings
  5. Kopiere die Integrationsschlüssel für Ihre neue Integration:
    RS_API_pd_3
  6. vom Konfiguration Menü auswählen API-Zugriff Die
    apiaccess-0
  7. Klicken Sie auf Ihrer API-Zugriffsseite auf die Schaltfläche +Neuen API-Schlüssel erstellen Taste.
    apiaccess-1
  8. Im daraufhin erscheinenden Dialogfeld werden Sie aufgefordert, eine/n einzugeben. Beschreibung für Ihren Schlüssel. Sie haben außerdem die Möglichkeit, den Schlüssel zu erstellen als Nur lesbar Wenn Sie dieses Kästchen nicht markieren, wird ein Schlüssel für den vollständigen Zugriff erstellt.
  9. Sobald Sie Ihre Optionen eingegeben haben, klicken Sie Schlüssel erstellen Die
  10. Sobald Sie auf „Schlüssel erstellen“ klicken, erscheint ein Dialogfeld, in dem Ihr Schlüssel angezeigt und die im vorherigen Schritt eingegebenen Optionen bestätigt werden. Kopieren Sie diesen Schlüssel jetzt unbedingt in alle Anwendungen, die ihn benötigen, da Sie nach diesem Schritt keinen Zugriff mehr auf den Schlüssel haben werden. Wenn Sie einen zuvor erstellten Schlüssel verlieren und erneut darauf zugreifen müssen, sollten Sie den Schlüssel löschen und einen neuen erstellen. Klicken Sie hier. Schließen sobald Sie Ihren Schlüssel erfolgreich kopiert haben. api__2_
  11. Finde die PagerDuty -Dienst die Sie mit Ihrem Hubot verknüpfen möchten, kopieren und speichern Sie dann die Integrationsschlüssel

Bereitstellung von Slack

  1. In Ihrem Terminal, in Ihrem myhubot-Verzeichnis , laufen:
     npm install -g hubot Coffee-script yo Generator-hubot 
     npm install hubot-slack --save 
  2. Bearbeiten Sie die Procfile Um sicherzustellen, dass der Adapter flexibel ist, fügen Sie den Namen Ihres Bots hinzu:
     nano Procfile 

    hubot__11_

In Heroku

  1. Zu Stellen Sie Ihren Bot auf Heroku bereit. Melden Sie sich zunächst über Ihr Terminal bei Heroku an:
     Heroku-Login 
  2. Stellen Sie in Ihrem myhubot-Verzeichnis sicher, dass Sie ein Git-Repository erstellt haben und Ihre Änderungen festgeschrieben wurden:
     git init 
     git add . 
     git commit -m 'Initial commit' 
  3. Erstellen Sie anschließend die Heroku-Anwendung durch Ausführen von:

     heroku create 
  4. Öffnen Sie Heroku in der Web-Oberfläche und klicken Sie auf die soeben erstellte Heroku-App.
    hubot__20_
  5. Klicken Sie in der Suchleiste unter Add-ons und suchen Sie nach Redis To Go hubot__14_
  6. Provision Redis To Go   hubot__15_
  7. Klicken Sie hier, um Einstellungen um die Variablen zu definieren hubot__16_
  8. Kopieren und speichern Sie Ihre Heroku-App-Domain unter der Domänen Abschnitt, wir werden ihn gleich brauchen. heroku__17_
  9. Klicken Konfigurationsvariablen anzeigen hubot__16_
  10. Hier definieren Sie die Variablen für Folgendes:
    • HEROKU_URL = die URL zur von Ihnen erstellten Heroku-App
    • HUBOT_PAGERDUTY_API_KEY = der API-Zugriffsschlüssel, den wir zuvor erstellt haben.
    • HUBOT_PAGERDUTY_ENDPOINT = Lassen Sie dieses Feld leer.
    • HUBOT_PAGERDUTY_ROOM = der Name des Slack-Raums, den Sie für Hubot verwenden.
    • HUBOT_PAGERDUTY_SCHEDULE_ID = der PagerDuty Zeitplan
    • HUBOT_PAGERDUTY_SERVICE_API_KEY = der Integrationsschlüssel des Dienstes, mit dem Sie Vorfälle von Slack auslösen/bestätigen/beheben möchten.
    • HUBOT_PAGERDUTY_SUBDOMAIN = Ihre PagerDuty Subdomain
    • HUBOT_SLACK_TOKEN = das Slack-Token, das wir zuvor kopiert haben. hubot__19_
  11. Rufen Sie Ihre Heroku-URL auf. Sie sollten eine Seite wie diese sehen:
    hubot__21_

In Slack

  1. Gehen Sie in den Raum, in dem Sie die Integration mit Hubot konfiguriert haben.
  2. Geben Sie im Kanal Folgendes ein:
     @yourHubotsName: Ruf mich an als  {Ihre-PagerDuty-Anmelde-E-Mail-Adresse} 

    hubot__25_

  3. Um die Liste der ausführbaren Befehle anzuzeigen, können Sie entweder die folgende Website besuchen: hubot-pager-me Repository oder in Slack eingeben:
     @yourHubotsName: Hilfe 
  4. Mit Hubot können Sie Vorfälle in Slack auslösen, bestätigen und beheben. Um einen Vorfall auszulösen, geben Sie Folgendes ein:
     @yourHubotsName: Auslöser<user's name><message for the incident> 

    hubot__26_

  5. Um Vorfälle in Slack zu bestätigen, geben Sie Folgendes ein:
     @yourHubotsName: Pager-Bestätigung<incident number> 

    hubot__27_

  6. Um Vorfälle in Slack zu beheben, geben Sie Folgendes ein:
     @yourHubotsName: Pager-Auflösung<incident number> 

    hubot__28_

Häufig gestellte Fragen

Gibt es eine Möglichkeit, die Integration lokal zu testen?

Ja, das ist möglich! Definieren Sie Ihre Variablen im Hubot-Verzeichnis mit den folgenden Befehlen:

  • export HUBOT_PAGERDUTY_API_KEY = der zuvor erstellte API-Zugriffsschlüssel
  • export HUBOT_PAGERDUTY_ENDPOINT = Lassen Sie dieses Feld leer.
  • export HUBOT_PAGERDUTY_ROOM = der Name des Slack-Raums, den Sie für Hubot verwenden.
  • export HUBOT_PAGERDUTY_SCHEDULE_ID = der PagerDuty Zeitplan
  • export HUBOT_PAGERDUTY_SERVICE_API_KEY = der Integrationsschlüssel des Dienstes, mit dem Sie Vorfälle von Slack auslösen/bestätigen/beheben möchten.
  • export HUBOT_PAGERDUTY_SUBDOMAIN = Ihre PagerDuty Subdomain
  • export HUBOT_SLACK_TOKEN = das Slack-Token, das wir zuvor kopiert haben

Nachdem Sie alle erforderlichen Umgebungsvariablen hinzugefügt haben, geben Sie „bin/hubot --adapter slack“ ein. Ihr PagerDuty Hubot sollte nun voll funktionsfähig sein. Eine Liste der Befehle finden Sie hier: https://github.com/hubot-scripts/hubot-pager-me

Wo finde ich eine Liste der Adapter, die mit Hubot kompatibel sind?

Hier finden Sie den Link zu allen verfügbaren Adaptern für die Hubot-Integration: https://github.com/github/hubot/blob/master/docs/adapters.md Die

Bereit loszulegen?

Testen Sie jedes Produkt in der Operations Cloud kostenlos. Keine Kreditkarte erforderlich.