Powiadomienia w oknach czasowych dzięki warunkom UTC w Echobell

Wykorzystaj wbudowane zmienne czasu UTC w Echobell, aby filtrować powiadomienia według godzin pracy, weekendów lub okien serwisowych. Z gotowymi przepisami na warunki.

Aktualizacja

Spis treści

Wbudowane zmienne czasu UTC w Echobell pozwalają ograniczyć powiadomienia do wybranych okien czasowych — godzin pracy, dyżurów on-call, okien serwisowych — bezpośrednio w warunkach kanału. Bez żadnej zewnętrznej warstwy filtrowania.

Wymagania wstępne: Warunki, Szablony, Webhook, Wyzwalacze e-mail.

Dostępne zmienne UTC

Są tylko do odczytu, zawsze dostępne i wyliczane w UTC:

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

W warunkach używaj ich wprost (bez {{ }}). W szablonach stosuj je z {{ }}.

Przepisy na warunki

Dni robocze w godzinach pracy

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

Tylko weekendy

dayOfWeek == 0 || dayOfWeek == 6

Poza godzinami pracy (noce i weekendy)

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

Okno serwisowe (soboty 01:00–03:00)

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

Pierwszy dzień miesiąca o pełnej godzinie

dayOfMonth == 1 && minute == 0

Godziny pracy na koniec kwartału (marzec/czerwiec/wrzesień/grudzień)

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

Łączenie czasu z filtrami treści

Warunki czasowe łączą się ze zmiennymi z danych przy użyciu standardowych operatorów:

  • Eskalacje poza godzinami pracy tylko przy wysokiej wadze zdarzenia:
    ((hour < 9 || hour >= 17) || dayOfWeek == 0 || dayOfWeek == 6) && (severity == "high" || severity == "critical")
    
  • Środowisko produkcyjne, wyłącznie w dni robocze:
    environment == "production" && dayOfWeek >= 1 && dayOfWeek <= 5
    

Warunki to zwykłe wyrażenia — nie otaczaj ich {{ }}. Zobacz Warunki → obsługiwane operatory.

Używanie zmiennych czasu w szablonach

Te same zmienne działają w szablonach z {{ }}, co przydaje się przy zapisach audytowych i czytelnych potwierdzeniach:

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

Łącz je z danymi z webhooka lub wyzwalaczy e-mail:

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

Uwagi

  • Wszystkie zmienne systemowe są w UTC. Jeśli Twój zespół pracuje w różnych strefach czasowych, uwzględnij przesunięcie przy ustawianiu zakresów godzin.
  • Zacznij od prostego okna czasowego, a filtry treści dokładaj dopiero wtedy, gdy zadziała.
  • Zostaw przy kanale krótki opis wyjaśniający logikę warunku (np. „dni robocze 09–17 UTC; poza godzinami pracy tylko wysoka waga”).

Kolejne kroki

  • Dodaj warunek okna czasowego do istniejącego kanału: Warunki
  • Dostosuj treść powiadomień przy użyciu zmiennych: Szablony
  • Utwórz osobne kanały dla godzin pracy i dla dyżurów on-call
  • Kanałom dyżurowym ustaw typ powiadomień na połączenie, aby zapewnić reakcję poza godzinami pracy