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.daemonde 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 contextoctx.status()→ devuelve un hash con propiedades del estado actual en contextoctx.category()→ devuelve un hash con propiedades de la categoría actual en contextoctx.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.