Buscar en la documentación

Avisos de coordinación

Los avisos para quienes reparten el trabajo, por permiso y no por rol, cuando nace un incidente sin asignar o crítico y cuando piden una reapertura.

Módulo notifications1 min de lecturaVer en GitHub

Algunos hechos importan a quienes reparten el trabajo, no solo a los participantes del incidente. Quiénes son se decide por permiso, no por rol, y solo cuentan las cuentas activas:

  • Quienes pueden asignar (incidents.assign): reciben “nuevo sin asignar”, “crítico creado” y “vencido”.
  • Quienes pueden aprobar reaperturas (incidents.reopen.approve): reciben “reapertura pendiente”.

Los agentes no reciben “nuevo sin asignar”. Cada persona recibe un solo aviso por hecho, el más importante para ella: crítico gana a asignado, y asignado gana a sin asignar.

Diagrama4 carriles · 9 pasos · 0 salidas de error
CreadoReaperturaSíNoSíNoSe registra"created" o"reopen_requested"1Busca a quienescoordinan2¿Qué hecho es?3¿Prioridadcrítica?4"Crítico creado" aquienes asignan yal asignado5¿Quedó sinasignar?6"Nuevo sin asignar"a quienes asignan7"Asignado" solo aquien lo recibe8"Reaperturapendiente" aquienes aprueban9
Los números coinciden con el paso a paso. En pantallas pequeñas el diagrama se desliza de lado.

Paso a paso

  1. APISe registra "created" o "reopen_requested"
  2. Base de datosBusca a quienes coordinan

    CoordinatorDirectory con la regla de permisos efectivos en SQL (PermissionSql): rol + concedidos − quitados, solo cuentas activas. Solo se consulta para estos dos registros.

  3. Cola¿Qué hecho es?
  4. Cola¿Prioridad crítica?
  5. Coordinación"Crítico creado" a quienes asignan y al asignado
  6. Cola¿Quedó sin asignar?
  7. Coordinación"Nuevo sin asignar" a quienes asignan
  8. Coordinación"Asignado" solo a quien lo recibe
  9. Coordinación"Reapertura pendiente" a quienes aprueban

En todos los casos se excluye a quien hizo el cambio: quien crea un crítico y además puede asignar no se avisa a sí mismo. Los avisos de vencidos siguen su propio camino: Vencidos cada 5 minutos.

Dónde está en el código