Notifikasi Jendela Waktu dengan Kondisi UTC di Echobell

Gunakan variabel waktu UTC bawaan Echobell untuk menyaring notifikasi berdasarkan jam kerja, akhir pekan, atau jendela pemeliharaan. Termasuk resep kondisi yang siap pakai.

Diperbarui

Daftar Isi

Variabel waktu UTC bawaan Echobell memungkinkan Anda membatasi notifikasi pada jendela waktu tertentu—jam kerja, giliran on-call, jendela pemeliharaan—langsung di Kondisi saluran. Tidak perlu lapisan penyaringan eksternal.

Prasyarat: Kondisi, Templat, Webhook, Pemicu Email.

Variabel UTC yang tersedia

Semuanya hanya-baca, selalu tersedia, dan dihitung dalam UTC:

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

Pakai langsung di Kondisi (tanpa {{ }}). Pakai dengan {{ }} di Templat.

Resep kondisi

Hari kerja pada jam kerja

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

Akhir pekan saja

dayOfWeek == 0 || dayOfWeek == 6

Di luar jam kerja (malam dan akhir pekan)

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

Jendela pemeliharaan (Sabtu 01.00–03.00)

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

Hari pertama setiap bulan tepat di awal jam

dayOfMonth == 1 && minute == 0

Jam kerja di akhir kuartal (Mar/Jun/Sep/Des)

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

Menggabungkan waktu dengan filter isi

Kondisi waktu bisa dirangkai dengan variabel data memakai operator standar:

  • Eskalasi di luar jam kerja hanya untuk tingkat keparahan tinggi:
    ((hour < 9 || hour >= 17) || dayOfWeek == 0 || dayOfWeek == 6) && (severity == "high" || severity == "critical")
    
  • Lingkungan produksi, hanya hari kerja:
    environment == "production" && dayOfWeek >= 1 && dayOfWeek <= 5
    

Kondisi berupa ekspresi biasa—jangan membungkusnya dengan {{ }}. Lihat Kondisi → Operator yang Didukung.

Memakai variabel waktu di dalam templat

Variabel yang sama berfungsi di templat dengan {{ }}, berguna untuk catatan audit dan tanda terima yang mudah dibaca manusia:

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

Padukan dengan data dari Webhook atau Pemicu Email:

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

Catatan

  • Semua variabel sistem memakai UTC. Kalau tim Anda tersebar di beberapa zona waktu, perhitungkan selisihnya saat menetapkan rentang jam.
  • Mulailah dengan jendela waktu yang sederhana, lalu tambahkan filter isi setelah semuanya berjalan.
  • Tinggalkan deskripsi singkat pada saluran yang menjelaskan logika kondisinya (misalnya "Hari kerja 09–17 UTC; di luar jam kerja hanya untuk tingkat keparahan tinggi").

Langkah berikutnya

  • Tambahkan kondisi jendela waktu ke saluran yang sudah ada: Kondisi
  • Sesuaikan isi notifikasi dengan variabel: Templat
  • Buat saluran terpisah untuk jam kerja dan untuk jendela on-call
  • Setel saluran on-call ke jenis notifikasi Panggilan demi urgensi di luar jam kerja