Mục lục
- Các biến UTC có sẵn
- Các công thức điều kiện
- Ngày trong tuần, trong giờ làm việc
- Chỉ cuối tuần
- Ngoài giờ (ban đêm và cuối tuần)
- Khung bảo trì (thứ Bảy 01:00–03:00)
- Ngày đầu mỗi tháng, đúng đầu giờ
- Giờ làm việc cuối quý (tháng 3/6/9/12)
- Kết hợp thời gian với bộ lọc nội dung
- Dùng biến thời gian trong mẫu
- Ghi chú
- Bước tiếp theo
Các biến thời gian UTC dựng sẵn của Echobell cho phép bạn giới hạn thông báo vào những khung giờ cụ thể — giờ làm việc, ca trực on-call, khung bảo trì — ngay trong phần Điều kiện của kênh. Không cần thêm lớp lọc bên ngoài nào.
Kiến thức cần có: Điều kiện, Mẫu, Webhook, Kích hoạt qua Email.
Các biến UTC có sẵn
Đây là những biến chỉ đọc, luôn có sẵn và được tính theo giờ UTC:
timezone(luôn là "UTC"),now/iso,epochMs,epochSecondsyear,month(1–12),monthNamedayOfMonth(1–31)dayOfWeek(0–6, Chủ nhật = 0),dayOfWeekNamehour(0–23),minute(0–59),second(0–59)date(YYYY-MM-DD),time(HH:mm:ss)
Hãy dùng chúng trực tiếp trong Điều kiện (không có {{ }}). Dùng kèm {{ }} trong Mẫu.
Các công thức điều kiện
Ngày trong tuần, trong giờ làm việc
hour >= 9 && hour < 17 && dayOfWeek >= 1 && dayOfWeek <= 5
Chỉ cuối tuần
dayOfWeek == 0 || dayOfWeek == 6
Ngoài giờ (ban đêm và cuối tuần)
(hour < 9 || hour >= 17) || dayOfWeek == 0 || dayOfWeek == 6
Khung bảo trì (thứ Bảy 01:00–03:00)
dayOfWeek == 6 && hour >= 1 && hour < 3
Ngày đầu mỗi tháng, đúng đầu giờ
dayOfMonth == 1 && minute == 0
Giờ làm việc cuối quý (tháng 3/6/9/12)
(month == 3 || month == 6 || month == 9 || month == 12) && hour >= 9 && hour < 17 && dayOfWeek >= 1 && dayOfWeek <= 5
Kết hợp thời gian với bộ lọc nội dung
Điều kiện thời gian ghép được với biến dữ liệu bằng các toán tử thông thường:
- Leo thang ngoài giờ, chỉ với mức nghiêm trọng cao:
((hour < 9 || hour >= 17) || dayOfWeek == 0 || dayOfWeek == 6) && (severity == "high" || severity == "critical") - Môi trường production, chỉ ngày trong tuần:
environment == "production" && dayOfWeek >= 1 && dayOfWeek <= 5
Điều kiện là biểu thức thuần — đừng bọc chúng trong {{ }}. Xem Điều kiện → Các toán tử được hỗ trợ.
Dùng biến thời gian trong mẫu
Cũng những biến đó dùng được trong mẫu với {{ }}, rất tiện cho bản ghi kiểm toán và những dòng xác nhận dễ đọc cho con người:
Sent at {{date}} {{time}} {{sys.timezone}}
Today is {{sys.dayOfWeekName}}, {{sys.monthName}} {{dayOfMonth}}, {{year}}
Epoch: {{sys.epochSeconds}}
Trộn với dữ liệu từ Webhook hoặc Kích hoạt qua Email:
{{service}} {{status}} at {{time}} ({{sys.timezone}})
Ghi chú
- Mọi biến hệ thống đều theo UTC. Nếu nhóm bạn trải trên nhiều múi giờ, hãy tính đến độ lệch khi đặt khoảng giờ.
- Hãy bắt đầu với một khung giờ đơn giản, rồi mới chồng thêm bộ lọc nội dung khi nó đã chạy tốt.
- Hãy để lại một mô tả ngắn trên kênh giải thích logic của điều kiện (ví dụ "Ngày trong tuần 09–17 UTC; ngoài giờ chỉ với mức nghiêm trọng cao").