Zum Hauptinhalt springen

Benachrichtigungen

Der Tab Benachrichtigungen eines Projekts legt fest, wohin Aufgabenergebnisse gemeldet werden. Er besteht aus zwei Teilen:

  • Serverkanäle sind die Benachrichtigungsanbieter, die ein Administrator auf dem Server in config.json konfiguriert hat, siehe Benachrichtigungen. Sie stehen allen Projekten zur Verfügung, und jedes Projekt entscheidet, ob es sie nutzt.
  • Projektbenachrichtigungen sind benannte Ziele, die zum Projekt gehören: ein Telegram-Chat, ein Slack-Webhook, eine Liste von E-Mail-Adressen und so weiter. Vorlagen und Zeitpläne wählen aus, welche Benachrichtigungen sie senden.

Beide Teile können gleichzeitig verwendet werden.

Tab Benachrichtigungen eines Projekts

Serverkanäle​

Die Karte oben auf der Seite listet die auf dem Server konfigurierten Kanäle. Schalten Sie Benachrichtigungen dieses Projekts an Serverkanäle senden ein, um jedes Aufgabenergebnis dieses Projekts darüber zu erhalten. Das ist derselbe Schalter, der in älteren Versionen in den Projekteinstellungen Allow alerts for this project hieß.

Telegram erscheint, sobald der Server ein Bot-Token hat, und bleibt grau, bis ein Chat bekannt ist. Klicken Sie auf den Chip, um die Telegram Chat ID dieses Projekts einzugeben; sie überschreibt den serverweiten Chat und ist Pflicht, wenn der Server keinen hat.

Serverkanäle melden jeden relevanten Status: Erfolg, Fehler und Warten auf Bestätigung. E-Mail meldet nur Fehler. Eine Vorlage kann Erfolgs- oder Fehlerbenachrichtigungen weiterhin unterdrücken, siehe Vorlagenbenachrichtigungen.

Karte Serverkanäle mit geöffneter Telegram-Chat-ID

Projektbenachrichtigungen​

Menü Neue Benachrichtigung

Klicken Sie auf Neue Benachrichtigung, um ein Ziel anzulegen. Jede Benachrichtigung hat:

FeldBeschreibung
NameWird in Vorlagen- und Zeitplanformularen angezeigt. Innerhalb des Projekts eindeutig.
TypDer Kanal: Telegram, Slack, E-Mail, Microsoft Teams, Rocket.Chat, DingTalk oder Gotify. Das Formular zeigt die Zielfelder, die der Kanal benötigt.
ZielChat-ID und optionales Forumsthema für Telegram; Webhook-URL für Slack, Teams, Rocket.Chat und DingTalk; Server-URL für Gotify; Empfänger für E-Mail (leer lassen, um Projektmitglieder zu benachrichtigen, die Benachrichtigungen in ihrem Profil aktiviert haben).
GeheimnisTelegram, Gotify und E-Mail benötigen ein Geheimnis: das Bot-Token, das Anwendungstoken, die SMTP-Zugangsdaten. Servereinstellungen verwenden nimmt es aus der Serverkonfiguration; Eigenes verwenden nimmt es aus einem Zugriffsschlüssel des Schlüsselspeichers (Typ Geheimes Token für Token, Anmeldung mit Passwort für SMTP). Eine E-Mail-Benachrichtigung mit eigenen Zugangsdaten kann zusätzlich eigenen SMTP-Host, Port, Absender und Verschlüsselung setzen.
Senden beiAuf welche Ereignisse die Benachrichtigung reagiert: Erfolg, Fehler, Warten auf Bestätigung. Neue Benachrichtigungen beginnen mit den Kanalvorgaben.
ProjektstandardMarkiert die Benachrichtigung als eine der Projektvorgaben. Jede Vorlage, die Projektvorgaben verwendet, sendet sie.
AktiviertEine deaktivierte Benachrichtigung wird nie gesendet und ist keine Projektvorgabe.
NachrichtenvorlageOptionale Go-Vorlage für den Nachrichtentext. Belassen Sie den eingebauten Text, um künftige Serveraktualisierungen zu übernehmen.

Geheimnisse werden nie auf der Benachrichtigung gespeichert: Sie liegen verschlüsselt im Schlüsselspeicher, und der Schlüssel kann nicht gelöscht werden, solange eine Benachrichtigung ihn verwendet. Hat der Server kein Bot-Token, keinen SMTP-Server oder kein Gotify-Paar konfiguriert, bietet das Formular nur Eigenes verwenden an. Webhook-URLs müssen http oder https verwenden und dürfen nicht auf den Server selbst zeigen.

Verwenden Sie Testnachricht senden in der Liste, um eine Benachrichtigung zu prüfen, und Alle testen in der Werkzeugleiste, um einen Test an jedes aktivierte Ziel des Projekts zu senden, Serverkanäle eingeschlossen.

Eine Benachrichtigung, die an eine Vorlage oder einen Zeitplan gebunden ist, kann nicht gelöscht werden. Der Dialog listet die Objekte, die sie verwenden.

Telegram-Benachrichtigung mit eigenem Bot-Token

Nachrichtenvorlagen​

Der Text ist eine Go-text/template (html/template für E-Mail). Verfügbare Felder:

FeldWert
.NameVorlagenname
.AuthorName des Benutzers, der die Aufgabe gestartet hat, oder —
.Project.Name, .Project.IDDas Projekt
.PlaybookPlaybook oder Skript der Vorlage
.ScheduleNameName des Zeitplans, der die Aufgabe gestartet hat, falls vorhanden
.Task.ID, .Task.URLAufgabennummer und Link zum Protokoll
.Task.ResultStatus mit Symbol, zum Beispiel ✅ SUCCESS
.Task.DescBeim Start der Aufgabe eingegebene Nachricht
.Task.VersionBuild-Version bzw. die eingehende Build-Version bei Deploy-Aufgaben
.Task.DurationLaufzeit, leer bis die Aufgabe gestartet ist
.Task.Triggermanual, schedule, integration oder api
.ColorAnhangsfarbe für Slack und Rocket.Chat

Bei Chat-Kanälen muss der gerenderte Text das JSON-Dokument sein, das der Messenger erwartet; die eingebaute Vorlage ist ein guter Ausgangspunkt. Telegram-Texte sind reiner Text mit HTML-Formatierung, Chat und Thema fügt Semaphore hinzu.

Vorlagenbenachrichtigungen​

Im Abschnitt Erweitert einer Aufgabenvorlage wählt Benachrichtigungen zwischen:

  • Projektvorgaben verwenden — Serverkanäle, sofern sie für das Projekt eingeschaltet sind, plus die als Projektstandard markierten Benachrichtigungen. Bestehende Vorlagen behalten dieses Verhalten nach einem Upgrade.
  • Eigene Auswahl an Benachrichtigungen verwenden — nur die ausgewählten Benachrichtigungen. Eine leere Auswahl bedeutet, dass die Vorlage nichts sendet.

Erfolgsbenachrichtigungen unterdrücken und Fehlerbenachrichtigungen unterdrücken gelten für beide Optionen. Benachrichtigungen über eine Aufgabe, die auf Bestätigung wartet, werden nie unterdrückt.

Aufgabenvorlage mit eigener Auswahl an Benachrichtigungen

Zeitplanbenachrichtigungen​

Ein Zeitplan kann die Benachrichtigungen der Vorlage verwenden oder eine andere Auswahl an Benachrichtigungen verwenden. Die zweite Option ersetzt die Vorlagenauswahl für Aufgaben dieses Zeitplans vollständig, sodass ein nächtlicher Job an einen Bereitschaftskanal melden kann, während manuelle Läufe still bleiben.

Zeitplan mit eigener Auswahl an Benachrichtigungen

Wie eine Aufgabe zugestellt wird​

Die Ziele einer Aufgabe werden beim Anlegen der Aufgabe festgelegt. Wird eine Benachrichtigung, eine Vorlage oder ein Zeitplan während der Ausführung geändert, ändert sich nicht, wohin diese Aufgabe meldet. Jede Zustellung wird pro Aufgabe, Ziel und Ereignis aufgezeichnet, sodass in einer Hochverfügbarkeitsumgebung nur ein Serverknoten jede Nachricht sendet.

Sicherungen​

Projektbenachrichtigungen sind Teil der Projektsicherung. Vorlagen und Zeitpläne verweisen per Name auf sie, daher behält ein wiederhergestelltes Projekt seine Bindungen. Benachrichtigungen verweisen per Name auf ihren Zugriffsschlüssel; wie bei jedem Schlüssel wird der Geheimniswert selbst nicht exportiert.