How matching works
When an incident is confirmed, DevHelm evaluates all enabled notification policies in priority order (highest priority first). All matching policies execute — there is no “first match wins” behavior. A policy matches when all of its match rules pass (AND logic). A policy with no match rules is a catch-all that matches every incident.Match rules
Each match rule filters incidents on a specific attribute:Severity ordering
Severity comparison uses:DOWN > DEGRADED > MAINTENANCE. A severity_gte rule with value DEGRADED matches both DOWN and DEGRADED incidents but not MAINTENANCE.
Match rule fields
Priority
Thepriority field (integer, default 0) controls evaluation order. Higher values are evaluated first. While all matching policies run, priority determines which escalation chains start first when multiple policies match simultaneously.
Use priority to structure a tiered alerting strategy:
Creating a policy
The CLI covers the simple case: a policy that notifies one or more channels immediately. For priority, match rules, and multi-step escalation, use the API (below) or YAML config-as-code.Request fields
Catch-all policies
A policy with an emptymatchRules array matches every incident. Use a low-priority catch-all as a safety net:
Testing a policy
Dry-run match rules against a hypothetical incident to verify routing before real incidents arrive:Policy fields
Next steps
Escalation chains
Build multi-step escalation with delays and acknowledgment.
Alert channels
Configure the destinations referenced by escalation steps.
Alert suppression
Suppress alerts during maintenance and via resource groups.