Hinzufügen von Webhooks¶
Wenn Sie einen Webhook definieren, können Sie einen bestimmten Endpunkt in mehreren Triggern oder Automatisierungen verwenden.
Grundlagen¶
Hinweis
Beachten Sie, dass die Gegenstelle in der Lage sein muss, die Standard-Webhook-Nutzdaten zu verstehen, die Zammad sendet. Weitere Informationen über die Anpassung von Nutzdaten finden Sie im nächsten Abschnitt.
Um einen neuen regulären Webhook hinzuzufügen, klicken Sie auf die Schaltfläche Neuer Webhook. Um einen vordefinierten Webhook hinzuzufügen, klicken Sie auf den Pfeil rechts daneben und wählen Sie Vordefinierter Webhook aus dem Dropdown-Menü. Wenn Sie einen vordefinierten Webhook auswählen, werden Sie aufgefordert, aus einem der verfügbaren Webhooks auszuwählen:
Mattermost
Microsoft Teams
Rocket Chat
Slack
Nachdem Sie einen ausgewählt und auf Weiter geklickt haben, zeigt Zammad den Webhook-Konfigurationsdialog an. Diesen sehen Sie direkt, wenn Sie einen Webhook von Grund auf neu erstellen. Lesen Sie weiter, um mehr Informationen über die Konfiguration eines Webhooks zu erhalten.
Konfiguration¶
Sie können die folgenden Informationen für Webhooks konfigurieren:
- Name
Dieser Name wird bei der Auswahl von Triggern und Automatisierungen angezeigt.
- Endpunkt
Webhook-Endpunkt, an den Zammad seine Nutzdaten sendet. Bitte beachten Sie, dass Zammad hier Parameter für eine Basis-Authentifizierung ignoriert. Lesen Sie unten weiter, wie man Benutzername und Passwort über separate Felder konfiguriert.
- Request-Methode
Wählen Sie zwischen
DELETE,PATCH,POSTundPUT, abhängig von Ihrem Anwendungsfall.- SSL-Verifizierung
Der Standardwert ist
ja- wenn Sie unsichere selbstsignierte Zertifikate verwenden, setzen Sie diese Option aufnein.Gefahr
Bitte beachten Sie, dass das Deaktivieren der SSL-Verifizierung ein Sicherheitsrisiko darstellt. Es sollte nur vorübergehend oder zu Testzwecken verwendet werden. Wenn diese Option deaktiviert ist, findet keine Überprüfung des Zertifikats statt, was bedeutet, dass jedes vorgelegte Zertifikat akzeptiert wird.
- Authentifizierung
Wählen Sie zwischen HTTP-Basis-Authentifizierung, Bearer Token oder keiner Authentifizierung, je nachdem, was der Zieldienst unterstützt.
- Bearer Token
Falls Sie diese Authentifizierungsmethode gewählt haben, fügen Sie hier Ihr Token ein.
- Benutzername
Im Fall von HTTP-Basis-Authentifizierung geben Sie hier Ihren Benutzernamen an.
- Passwort
Im Fall von HTTP-Basis-Authentifizierung geben Sie hier das Passwort des Benutzers an.
- HMAC SHA1 Signatur-Token
Wenn diese Option gesetzt ist, enthalten alle gesendeten Webhooks einen x-hub-signature-Header, der es der Gegenstelle ermöglicht, die Anfrage zu überprüfen.
Bemerkung
Dies verschlüsselt die Nutzdaten nicht. Verwenden Sie HTTPS-Verbindungen, um die Kommunikation zu sichern. Sie enthält eine HMAC-Signatur des Body der Webhook-Anfrage. Erfahren Sie mehr über HUB-Signaturen hier.
- Vordefinierter Webhook
Dieses Feld wird nur bei vordefinierten Webhooks angezeigt! Es dient nur als Verweis auf einen vordefinierten Webhook und kann nicht geändert werden. Je nach vordefiniertem Webhook-Typ können darunter weitere Felder angezeigt werden. Sie können für zusätzliche Anpassungen des Webhook-Verhaltens verwendet werden.
Beispiel für Mattermost:
- Eigene Nutzlast
Standardmäßig ist dies ausgeschaltet und der Webhook sendet immer Standard-JSON-Nutzlast an den Endpunkt. Wenn eingeschaltet, wird unten ein Code-Editor angezeigt, in dem Sie eine eigene Nutzlast für Ihren Webhook im JSON-Format konfigurieren können. Um unterstützte Variablen einzufügen, verwenden Sie : : oder fügen Sie
#{zur automatischen Vervollständigung ein.Hinweis
Die Verwendung von Variablen ist gegenüber anderen Stellen in Zammad eingeschränkt. Einige Funktionen sind in Webhooks nicht verfügbar (z.B. die
.value-Erweiterung, Übersetzungs- (#{t(object.attribute)}) und Zeitformatierungs-Funktionen (#{dt(object.time_attribute, [...])). Stellen Sie sicher, dass Sie eine Variable aus den Vorschlägen der Autovervollständigung auswählen.Die Eigene Nutzlast muss eine gültige JSON-Syntax haben! Im Code-Editor wird hervorgehoben, wenn es ein Problem mit der Syntax gibt. Außerdem ist es nicht möglich, eine ungültige JSON-Struktur zu speichern.
Vordefinierte Webhooks enthalten immer eine vordefinierte Nutzlast, die für den entsprechenden Dienst spezifisch ist.
Ein einfaches Beispiel für die Struktur sieht wie folgt aus:
{ "ticket": "#{ticket.title}", "message": "#{notification.message}", "customer": "#{ticket.customer.fullname}" }
- Notiz
Bei Bedarf können Sie weitere Informationen für andere Zammad-Administratoren hinterlegen, damit der betreffende Webhook besser verstanden wird.
- Aktiv
Wenn diese Option auf
inaktivgesetzt ist, können Sie den Webhook nicht mehr in der Trigger- oder Automatisierungs-Konfiguration auswählen. Inaktive Webhooks werden nicht gesendet. Wenn Trigger oder Automatisierungs-Jobs auch andere Aktionen konfiguriert haben, werden diese trotzdem ausgeführt.
Nachdem Sie Ihren Webhook eingerichtet haben, stellen Sie sicher, dass Sie ihn per Trigger oder Automatisierung aufrufen. Falls etwas nicht funktioniert, werfen Sie einen Blick in den Abschnitt Problembehandlung.