Advanced Workflows
Descripción
Un plugin para la configuración flexible y automatización de procesos de negocio. Permite configurar y ejecutar automáticamente escenarios complejos que van más allá de los flujos de trabajo estándar de Redmine. Un sistema flexible de "reglas personalizadas" también permite establecer restricciones específicas.
Características principales
- Nuevo formato de campo personalizado: "Fecha y Hora"
- Reglas personalizadas
- Acciones automáticas
Compatibilidad
Redmine: 5.0 - 6.0
Navegadores web: Chrome, Firefox, Safari, Edge
Bases de datos: MySQL 5.7, MySQL 8.0, PostgreSQL 14-16, SQLite
Plugins: redmine_kanban, redmine_advanced_checklists, advanced_charts, appearance_custom, module_manager, periodic_reminder, user_group_editor, queries_perfect, selectbox_autocompiler, cost_calculator.
Instalación y Actualización
-
Elimine la versión anterior del plugin de Redmine, si existe.
cd redmine/plugins rm -r advanced_workflows -
Copie la nueva carpeta del plugin
advanced_workflowsaredmine/plugins/. -
Ejecute las migraciones en la carpeta raíz de Redmine.
bundle exec rake redmine:plugins:migrate RAILS_ENV=production NAME=advanced_workflows -
Detenga e inicie Redmine. (En algunas instalaciones de Redmine (por ejemplo, Docker), es importante detener e iniciar el servidor, no solo reiniciarlo.)
Desinstalación
- Ejecute el comando de desinstalación en la carpeta raíz de Redmine.
bundle exec rake redmine:plugins:migrate RAILS_ENV=production NAME=advanced_workflows VERSION=0
- Elimine la carpeta del plugin
advanced_workflowsderedmine/plugins/.
rm -r advanced_workflows
- Detenga e inicie Redmine.
Configuración
- Configure los roles de usuario en Administración -> Roles y permisos.
- Active el módulo "Advanced Workflows" para los proyectos en la configuración de cada proyecto.
- Verifique y modifique otras configuraciones del plugin en Administración -> Plugins -> Advanced Workflows.
Administración
Sección "Roles y permisos"
- Gestionar reglas a nivel de proyecto - acceso para editar reglas y acciones en el proyecto.
Sección "Campos personalizados"
El plugin Advanced Workflows añade un nuevo formato de campo personalizado: "Fecha y Hora"


"Fecha y Hora" se puede utilizar como filtro (condición).

Opciones disponibles:
- Próxima hora - el filtro incluirá aquellas issues cuyo valor del campo "Fecha y Hora" esté dentro de la próxima hora desde la hora UTC actual.

Sección "Plugins"
En Administración → Plugins → Advanced Workflows puede configurar:
- Ejecutar como usuario - Posibilidad de seleccionar un administrador en cuyo nombre se ejecutarán las acciones programadas.
- Número máximo de issues al ejecutar acciones programadas.

Sección "Reglas personalizadas"
Las reglas personalizadas permiten establecer restricciones sobre la asignación de issues a usuarios bajo condiciones definidas.
En Administración → Reglas personalizadas puede crear y configurar reglas:

Creación de reglas
Al crear, especifique el nombre y la visualización en la configuración del proyecto:

Edición de reglas
Después de crear una regla, puede editar las condiciones y restricciones.

Al hacer clic en el nombre de la regla, se abrirá la ventana de edición. Aquí puede especificar en qué proyectos se activará la regla.

Condiciones posibles
- Proyecto
- Tracker
- Versión
- Autor
- Usuario actual
- Grupo del asignado
- Grupo del autor
- Rol del asignado
- Rol del usuario actual
- Estado de la issue
- Tracker de la issue padre
- Versión de la issue padre
- Campos personalizados de "Issues" de tipos "Lista", "Texto", "Coma flotante", "Entero", "Fecha", "Fecha y Hora".
- Campos personalizados de "Proyectos" de tipos "Lista", "Texto", "Coma flotante", "Entero", "Fecha".


Restricciones posibles
- Asignado
- Grupo del asignado
- Rol del asignado
- Fecha de vencimiento
- Tracker
- Versión

Sección "Acciones automáticas"
Las acciones automáticas permiten realizar acciones seleccionadas al guardar una issue o según una programación, dentro de las condiciones especificadas.
En Administración → Acciones automáticas puede crear y configurar acciones:

Creación de acciones
Al crear, especifique el nombre, el método de ejecución y la visualización en la configuración del proyecto. Las acciones pueden ejecutarse de dos maneras diferentes:
- Al guardar - las acciones se ejecutarán instantáneamente al crear o editar una issue.
- Programada (cron) - las reglas se ejecutarán periódicamente según una programación cron.

Edición de acciones
Después de crear una acción, puede editar la regla, las condiciones y las acciones.

Al hacer clic en el nombre de la regla, se abrirá la ventana de edición. Aquí puede especificar en qué proyectos se activará la regla.

Condiciones posibles
- Filtros estándar de issues
- Filtros personalizados de issues
- Filtros de issues de otros plugins
Acciones posibles
- Asignado
- Denegar guardado
- Enviar correo
- Estado
- Tracker
- Proyecto
- Versión
- Versión de subtareas abiertas
- Observadores
- Webhook (GET)
- Webhook de Mattermost
- Webhook de Telegram
- Lista de verificación (si el plugin redmine_advanced_checklists está instalado)


Para las acciones "Enviar correo", "Webhook (GET)", "Webhook de Mattermost" y "Webhook de Telegram", hay disponibles variables de acción.

Uso
Activación de reglas y acciones
Después de crear reglas y acciones, debe activarlas individualmente en la configuración del proyecto.
Para ello, vaya a:
Proyecto → Configuración → Reglas personalizadas, active las reglas necesarias en este proyecto.

Proyecto → Configuración → Acciones automáticas, active las acciones necesarias en este proyecto.

Reglas personalizadas
Restricciones disponibles que se aplicarán cuando se cumplan las condiciones:
Asignado
La issue solo puede asignarse a los usuarios seleccionados.

Grupo del asignado
La issue solo puede asignarse a usuarios que pertenezcan a los grupos seleccionados.

Rol del asignado
La issue solo puede asignarse a usuarios con el rol seleccionado para el proyecto.

Fecha de vencimiento
La fecha de vencimiento de las issues solo puede establecerse dentro de un rango de fechas especificado.

Tracker
Las issues solo pueden tener los trackers seleccionados.

Versión
Las issues solo pueden tener las versiones seleccionadas.

Acciones automáticas
Método de ejecución "Programada"
Las acciones se ejecutarán periódicamente según la programación cron.
Para que una acción automática funcione correctamente, debe añadir un nuevo comando al crontab del servidor que ejecute el comando bundle exec rake advanced_workflows:run_actions
Ejemplo de comando:
*/5 * * * * cd /ruta/absoluta/hacia/redmine && bundle exec rake advanced_workflows:run_actions >> /ruta/absoluta/hacia/redmine/logs/cron_advanced_workflows.log
Añada este comando a cron como el usuario bajo el cual se ejecuta Redmine, reemplazando /ruta/absoluta/hacia/redmine con la ruta absoluta a su carpeta de instalación de Redmine.
El comando cron se ejecutará cada 5 minutos */5 * * * *
Todos los mensajes estándar se añadirán al archivo .../logs/cron_advanced_workflows.log
Acciones disponibles que se realizarán cuando se cumplan las condiciones:
Webhook (GET)
Envía una solicitud GET a la URL especificada. Se utiliza para la integración con sistemas externos, por ejemplo, para la sincronización con Jira.
Admite todas las variables de los campos de la issue.

Webhook de Mattermost
Envía un mensaje a un canal de Mattermost.
- URL: URL del webhook entrante de Mattermost.
- Datos POST: el mensaje que debe enviarse.
Admite todas las variables de los campos de la issue. 
Webhook de Telegram
Envía un mensaje a un chat grupal de Telegram mediante un bot.
- Token: token del bot de Telegram
- ID del chat: ID del chat en el que se ha añadido este bot
- Datos POST: el mensaje que debe enviarse
Admite todas las variables de los campos de la issue. 
Enviar correo
Envía un correo electrónico a las direcciones de correo especificadas. Las direcciones pueden separarse con comas , o ;.
Admite todas las variables de los campos de la issue.

Versión
Cambia automáticamente la versión de la issue.
- Reemplazar con la versión actual de la issue - Reemplaza la versión de la issue por la versión actual (activa) del proyecto.

Versión de subtareas abiertas
- Cambiar a - Cambia la versión de todas las subtareas abiertas a la especificada.
- Establecer igual a la versión de la issue - Cambia la versión de todas las subtareas abiertas a la versión de la issue.

Denegar guardado
Deniega la creación/edición de la issue. 
Observadores
Añade los observadores especificados a la issue. 
Estado
Cambia el estado de la issue al especificado. 
Tracker
Cambia el tracker de la issue al especificado. 
Lista de verificación
Disponible si el plugin redmine_advanced_checklists está instalado.
Crea automáticamente una lista de verificación a partir de plantillas cuando se cumplen las condiciones.
Utilice plantillas preparadas previamente. 
Proyecto
Cambia el proyecto de la issue al especificado.

Si tiene algún problema o pregunta, escríbanos un correo electrónico [email protected]