Zeitfenster-Benachrichtigungen mit UTC-Bedingungen in Echobell

Echobells integrierte UTC-Zeitvariablen nutzen, um Benachrichtigungen nach Geschäftszeiten, Wochenenden oder Wartungsfenstern zu filtern. Enthält einsatzbereite Bedingungsrezepte.

Zeitfenster-Benachrichtigungen mit UTC-Bedingungen in Echobell

Echobells integrierte UTC-Zeitvariablen ermöglichen es, Benachrichtigungen auf bestimmte Zeitfenster zu beschränken – Geschäftszeiten, On-Call-Schichten, Wartungsfenster – direkt in den Channel-Bedingungen. Kein externer Filterlayer erforderlich.

Voraussetzungen: Bedingungen, Templates, Webhook, E-Mail-Trigger.

Verfügbare UTC-Variablen

Diese Variablen sind schreibgeschützt, immer verfügbar und in UTC berechnet:

  • timezone (immer „UTC"), now/iso, epochMs, epochSeconds
  • year, month (1–12), monthName
  • dayOfMonth (1–31)
  • dayOfWeek (0–6, Sonntag = 0), dayOfWeekName
  • hour (0–23), minute (0–59), second (0–59)
  • date (YYYY-MM-DD), time (HH:mm:ss)

In Bedingungen direkt verwenden (ohne {{ }}). In Templates mit {{ }}.

Bedingungsrezepte

Werktags während der Geschäftszeiten

hour >= 9 && hour < 17 && dayOfWeek >= 1 && dayOfWeek <= 5

Nur Wochenende

dayOfWeek == 0 || dayOfWeek == 6

Außerhalb der Geschäftszeiten (Nächte und Wochenenden)

(hour < 9 || hour >= 17) || dayOfWeek == 0 || dayOfWeek == 6

Wartungsfenster (Samstags 01:00–03:00)

dayOfWeek == 6 && hour >= 1 && hour < 3

Erster Tag des Monats zur vollen Stunde

dayOfMonth == 1 && minute == 0

Quartalsende während Geschäftszeiten (März/Juni/Sept/Dez)

(month == 3 || month == 6 || month == 9 || month == 12) && hour >= 9 && hour < 17 && dayOfWeek >= 1 && dayOfWeek <= 5

Zeit mit Inhaltsfiltern kombinieren

Zeitbedingungen lassen sich mit Datenvariablen über Standardoperatoren kombinieren:

  • Außerhalb der Geschäftszeiten nur bei hohem Schweregrad eskalieren:
    ((hour < 9 || hour >= 17) || dayOfWeek == 0 || dayOfWeek == 6) && (severity == "high" || severity == "critical")
  • Produktionsumgebung, nur werktags:
    environment == "production" && dayOfWeek >= 1 && dayOfWeek <= 5

Bedingungen sind einfache Ausdrücke – kein {{ }}-Wrap. Siehe Bedingungen → Unterstützte Operatoren.

Zeitvariablen in Templates verwenden

Dieselben Variablen funktionieren in Templates mit {{ }} – nützlich für Audit-Einträge und menschenlesbare Protokolle:

Sent at {{date}} {{time}} {{timezone}}
Today is {{dayOfWeekName}}, {{monthName}} {{dayOfMonth}}, {{year}}
Epoch: {{epochSeconds}}

Mit Daten aus Webhook oder E-Mail-Trigger kombinieren:

{{service}} {{status}} at {{time}} ({{timezone}})

Hinweise

  • Alle Systemvariablen sind UTC. Wenn Ihr Team über Zeitzonen verteilt ist, den Offset beim Setzen von Stundenbereichen berücksichtigen.
  • Mit einem einfachen Zeitfenster starten, dann Inhaltsfilter ergänzen, sobald es funktioniert.
  • Eine kurze Beschreibung im Channel hinterlassen, die die Bedingungslogik erklärt (z. B. „Werktags 09–17 UTC; außerhalb nur bei hohem Schweregrad").

Nächste Schritte

  • Zeitfenster-Bedingung zu einem bestehenden Channel hinzufügen: Bedingungen
  • Benachrichtigungsinhalt mit Variablen anpassen: Templates
  • Separate Channels für Geschäftszeiten vs. On-Call-Fenster erstellen
  • On-Call-Channels auf Anruf-Benachrichtigungstyp für außerhalb der Geschäftszeiten setzen