Saltar a contenido

Reglas de Eventos

Puede activar reglas en ciertos eventos del sistema Clarive. Estos eventos del sistema pueden reaccionar a estos eventos especiales y ejecutar tareas de automatización al igual que con la mayoría de los otros rulebooks.

Usando la terminología de Clarive, las reglas de Rulebook se activan post-offline. Eso significa que no pueden interferir con la acción del usuario ni interactuar con el usuario, es decir, si hay un error, el usuario no lo verá. Estos rulebooks son ejecutados por el demonio de eventos a veces de inmediato, a veces unos segundos después.

En resumen, así es como el sistema de eventos procesa un evento:

  • el usuario realiza una acción

  • el sistema registra el evento en la cola

  • el event.daemon de Clarive recoge el evento en la cola

  • si existen rulebooks que se enganchen en el evento en el sistema (registrados en los repositorios Git), el demonio de eventos los ejecuta secuencialmente.

Alcance de ejecución

Su regla solo se ejecutará si el evento ocurre en el proyecto en el que su rulebook está definido.

Si el proyecto no está presente, su rulebook no se ejecutará.

Filtros de alcance

Para evitar ejecutar su rulebook para cada evento, recomendamos encarecidamente que agregue alcance

topic_create

Este evento se activa cuando un usuario crea un topic.

Filtros de alcance:

Clave de Alcance Contenido
category Array de nombres de categoría de topic
status Array de nombres de estado de topic
topic_create:
     category:
       - Hotfix
       - Feature
     status:
       - New
       - Done
       - Production
     do:
      - email:
            subject: "Topic {{ ctx.topic().name }} created"
            to: [email protected]
            body: "..."

topic_modify

Este evento se activa cuando se cambia cualquier campo del topic.

Filtros de alcance:

Clave de Alcance Contenido
category Array de nombres de categoría de topic
status Array de nombres de estado de topic
field Array de campos de topic modificados

Si se usan alcances filtrados, el disparador de eventos solo se ejecutará si ha cambiado un valor de campo dado.

topic_modify:
     fields:
       - title
       - expected_end_date
     category:
       - Hotfix
       - Feature
     do:
       - email:
             subject: "Topic {{ ctx.topic().name }} created"
             to: [email protected]
             body: "..."

topic_delete

Este evento se activa cuando se elimina un topic.

Filtros de alcance:

Clave de Alcance Contenido
category Array de nombres de categoría de topic
topic_delete:
     category:
       - Hotfix
       - Feature
     do:
       - email:
             subject: "Topic {{ ctx.topic().name }} created"
             to: [email protected]
             body: "..."

topic_change_status

Este evento se activa cuando se cambia el estado de un topic.

Cuando ocurre este evento, el estado del topic ya ha cambiado a su nuevo estado.

Clave de Alcance Contenido
category Array de nombres de categoría de topic
status Array de nombres de estado de topic

repository_update

Se activa cada vez que el repositorio actual (donde reside el rulebook) tiene cambios.

user_register

Este evento solo activa eventos de proyecto global.

Se activa cada vez que un nuevo usuario se registra a través de la página de registro.

Funciones de contexto de eventos de topic

Las siguientes funciones de contexto están disponibles para eventos relacionados con topics:

  • ctx.topic() → devuelve un hash con propiedades del topic actual en contexto
  • ctx.status() → devuelve un hash con propiedades del estado actual en contexto
  • ctx.category() → devuelve un hash con propiedades de la categoría actual en contexto
  • ctx.fields() → devuelve un hash con los datos antiguos/nuevos del campo modificado

Diríjase a la documentación de llamadas de contexto para detalles sobre los datos devueltos por cada función.