Pular para o conteúdo

Regras e policies

Uma policy decide quem deve saber, quando, com que urgência e com qual nível de verificação. No workspace, ela é uma lista de regras mais algumas configurações (fuso horário, ação padrão, silêncio programado e resumo).

Como as regras de policy decidemO evento é comparado com as regras do workspace, em ordem; a primeira que casar decide a ação: notify (avisa agora), digest (resumo agrupado), suppress (guardado, não entregue) ou escalate (avisa com prioridade alta e destinatários extras). No silêncio programado, notify vira digest, a menos que a regra ignore o silêncio.Eventosource · typeseverity · horárioRegras, em ordema primeira que casar;senão o padrãoSilêncio programado?notify → digestsalvo bypass_quietnotifyentregue agoradigestagrupado num resumosuppressguardado, não entregueescalateprioridade alta + extras
Ação O que acontece
notify A notificação é entregue agora.
digest O evento entra num resumo enviado no fim da janela do resumo.
suppress O evento fica no histórico, mas ninguém é avisado.
escalate Avisa com prioridade alta e inclui os destinatários extras da regra.

As regras são avaliadas na ordem de position; a primeira que casar vence. Se nenhuma casar, vale a default_action do workspace.

{
"name": "dokploy-info-suppressed",
"enabled": true,
"position": 30,
"match": {
"source": ["dokploy"],
"type": ["deploy.*"],
"severity_max": "info"
},
"action": "suppress",
"params": {}
}
Campo de match Significado
source Lista de origens.
type Lista de tipos de evento; deploy.* casa com todo tipo deploy..
severity, severity_min, severity_max Lista exata ou faixa de severidades.
hours Janela de horário: { "from": "09:00", "to": "18:00", "tz": "America/Sao_Paulo", "days": ["mon", "tue"] }.
Campo de params Significado
priority normal ou high.
recipients Destinatários extras (usados pelo escalate).
channels Canais de entrega; hoje app.
bypass_quiet true para entregar mesmo no silêncio programado.

O nome da regra é em minúsculas (^[a-z0-9][a-z0-9_.-]*$) e único no workspace.

As configurações do workspace definem o fuso horário, a ação padrão, o silêncio programado e o resumo:

{
"timezone": "America/Sao_Paulo",
"default_action": "notify",
"quiet_hours": { "from": "22:00", "to": "07:00", "days": ["mon", "tue", "wed", "thu", "fri"], "min_severity": "high", "action": "digest" },
"digest": { "window": "30m", "max_events": 20 }
}

No silêncio programado, eventos abaixo de min_severity viram resumo (ou são suprimidos), a menos que a regra tenha bypass_quiet: true.

Origem Editável no app
api Sim: criada em Regras no app.notific.me, pela API ou por um agente via MCP.
yaml Não: mantida num arquivo YAML no repositório de um servidor próprio. Mudanças lá sobrescrevem o workspace no próximo deploy.
default Não: padrões embutidos.

A tela Regras do app.notific.me tem um simulador: “este evento seria notificado?”. Ele roda o mesmo motor da produção, mostra a decisão (notify, digest, suppress, escalate), o motivo (rule, default ou quiet_hours) e qual regra casou, e consegue testar regras ainda não salvas. O mesmo existe em POST /v0/workspaces/{handle}/rules/simulate.