Advanced Workflows
Description
Un plugin pour la configuration flexible et l'automatisation des processus métier. Il permet de configurer et d'exécuter automatiquement des scénarios complexes qui dépassent les workflows standard de Redmine. Un système flexible de "règles personnalisées" permet également de définir des restrictions spécifiques.
Fonctionnalités clés
- Nouveau format de champ personnalisé : "Date et Heure"
- Règles personnalisées
- Actions automatiques
Compatibilité
Redmine : 5.0 - 6.0
Navigateurs Web : Chrome, Firefox, Safari, Edge
Bases de données : 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.
Installation et Mise à jour
-
Supprimez l'ancienne version du plugin de Redmine, si elle existe.
cd redmine/plugins rm -r advanced_workflows -
Copiez le nouveau dossier du plugin
advanced_workflowsdansredmine/plugins/. -
Exécutez les migrations dans le dossier racine de Redmine.
bundle exec rake redmine:plugins:migrate RAILS_ENV=production NAME=advanced_workflows -
Arrêtez et démarrez Redmine. (Sur certaines installations de Redmine (par exemple, Docker), il est important d'arrêter et de démarrer le serveur, pas seulement de le redémarrer.)
Désinstallation
- Exécutez la commande de désinstallation dans le dossier racine de Redmine.
bundle exec rake redmine:plugins:migrate RAILS_ENV=production NAME=advanced_workflows VERSION=0
- Supprimez le dossier du plugin
advanced_workflowsderedmine/plugins/.
rm -r advanced_workflows
- Arrêtez et démarrez Redmine.
Configuration
- Configurez les rôles des utilisateurs dans Administration -> Rôles et permissions.
- Activez le module « Advanced Workflows » pour les projets dans les paramètres de chaque projet.
- Vérifiez et modifiez les autres paramètres du plugin dans Administration -> Plugins -> Advanced Workflows.
Administration
Section "Rôles et permissions"
- Gérer les règles au niveau du projet - accès pour éditer les règles et les actions dans le projet.
Section « Champs personnalisés »
Le plugin Advanced Workflows ajoute un nouveau format de champ personnalisé : "Date et Heure"


"Date et Heure" peut être utilisé comme filtre (condition).

Options disponibles :
- Heure suivante - le filtre inclura les demandes dont la valeur du champ "Date et Heure" se situe dans l'heure suivante par rapport à l'heure UTC actuelle.

Section « Plugins »
Dans Administration → Plugins → Advanced Workflows vous pouvez configurer :
- Exécuter en tant qu'utilisateur - Possibilité de sélectionner un admin au nom duquel les actions planifiées seront exécutées.
- Nombre maximum de demandes lors de l'exécution des actions planifiées.

Section "Règles personnalisées"
Les règles personnalisées permettent d'établir des restrictions sur l'attribution de demandes aux utilisateurs dans des conditions définies.
Dans Administration → Règles personnalisées vous pouvez créer et configurer des règles :

Création de règles
Lors de la création, indiquez le nom et l'affichage dans les paramètres du projet :

Édition des règles
Après la création d'une règle, vous pouvez modifier les conditions et les restrictions.

En cliquant sur le nom de la règle, la fenêtre d'édition s'ouvrira. Vous pouvez ici spécifier dans quels projets la règle sera activée.

Conditions possibles
- Projet
- Tracker
- Version
- Auteur
- Utilisateur actuel
- Groupe de l'assigné
- Groupe de l'auteur
- Rôle de l'assigné
- Rôle de l'utilisateur actuel
- Statut de la demande
- Tracker de la demande parente
- Version de la demande parente
- Champs personnalisés "Demandes" de types "Liste", "Texte", "Flottant", "Entier", "Date", "Date et Heure".
- Champs personnalisés "Projets" de types "Liste", "Texte", "Flottant", "Entier", "Date".


Restrictions possibles
- Assigné
- Groupe de l'assigné
- Rôle de l'assigné
- Date d'échéance
- Tracker
- Version

Section "Actions automatiques"
Les actions automatiques permettent d'effectuer une action sélectionnée lors de l'enregistrement d'une demande ou selon un planning, dans le cadre des conditions spécifiées.
Dans Administration → Actions automatiques vous pouvez créer et configurer des actions :

Création d'actions
Lors de la création, indiquez le nom, la méthode d'exécution et l'affichage dans les paramètres du projet. Les actions peuvent être exécutées de deux manières différentes :
- Lors de l'enregistrement - les actions seront exécutées instantanément lors de la création ou de l'édition d'une demande.
- Planifiée (cron) - les règles seront exécutées périodiquement selon un planning cron.

Édition des actions
Après la création d'une action, vous pouvez modifier la règle, les conditions et les actions.

En cliquant sur le nom de la règle, la fenêtre d'édition s'ouvrira. Vous pouvez ici spécifier dans quels projets la règle sera activée.

Conditions possibles
- Filtres de demandes standard
- Filtres de demandes personnalisés
- Filtres de demandes d'autres plugins
Actions possibles
- Assigné
- Interdire l'enregistrement
- Envoyer un email
- Statut
- Tracker
- Projet
- Version
- Version des sous-tâches ouvertes
- Observateurs
- Webhook (GET)
- Webhook Mattermost
- Webhook Telegram
- Liste de contrôle (si le plugin redmine_advanced_checklists est installé)


Pour les actions "Envoyer un email", "Webhook (GET)", "Webhook Mattermost" et "Webhook Telegram", des variables d'action sont disponibles.

Utilisation
Activation des règles et actions
Après avoir créé les règles et actions, vous devez les activer individuellement dans les paramètres du projet.
Pour cela, allez dans :
Projet → Paramètres → Règles personnalisées, activez les règles nécessaires dans ce projet.

Projet → Paramètres → Actions automatiques, activez les actions nécessaires dans ce projet.

Règles personnalisées
Restrictions disponibles qui seront appliquées lorsque les conditions sont remplies :
Assigné
La demande ne peut être assignée qu'aux utilisateurs sélectionnés.

Groupe de l'assigné
La demande ne peut être assignée qu'aux utilisateurs appartenant aux groupes sélectionnés.

Rôle de l'assigné
La demande ne peut être assignée qu'aux utilisateurs ayant le rôle sélectionné pour le projet.

Date d'échéance
La date d'échéance des demandes ne peut être fixée que dans une plage de dates spécifiée.

Tracker
Les demandes ne peuvent avoir que les trackers sélectionnés.

Version
Les demandes ne peuvent avoir que les versions sélectionnées.

Actions automatiques
Méthode d'exécution « Planifiée »
Les actions seront exécutées périodiquement selon le planning cron.
Pour qu'une action automatique fonctionne correctement, vous devez ajouter une nouvelle commande dans le crontab du serveur qui exécute la commande bundle exec rake advanced_workflows:run_actions
Exemple de commande :
*/5 * * * * cd /chemin/absolu/vers/redmine && bundle exec rake advanced_workflows:run_actions >> /chemin/absolu/vers/redmine/logs/cron_advanced_workflows.log
Ajoutez cette commande à cron sous l'utilisateur sous lequel Redmine est exécuté, en remplaçant /chemin/absolu/vers/redmine par le chemin absolu vers votre dossier d'installation de Redmine.
La commande cron s'exécutera toutes les 5 minutes */5 * * * *
Tous les messages standards seront ajoutés au fichier .../logs/cron_advanced_workflows.log
Actions disponibles qui seront effectuées lorsque les conditions sont remplies :
Webhook (GET)
Envoie une requête GET à l'URL spécifiée. Utilisé pour l'intégration avec des systèmes externes, par exemple pour la synchronisation avec Jira.
Prend en charge toutes les variables des champs de la demande.

Webhook Mattermost
Envoie un message à un canal Mattermost.
- URL : URL du webhook entrant Mattermost.
- Données POST : le message à envoyer.
Prend en charge toutes les variables des champs de la demande. 
Webhook Telegram
Envoie un message à un chat de groupe Telegram à l'aide d'un bot.
- Token : jeton du bot Telegram
- ID du chat : ID du chat dans lequel ce bot a été ajouté
- Données POST : le message à envoyer
Prend en charge toutes les variables des champs de la demande. 
Envoyer un email
Envoie un email aux adresses email spécifiées. Les adresses peuvent être séparées par des virgules , ou ;.
Prend en charge toutes les variables des champs de la demande.

Version
Change automatiquement la version de la demande.
- Remplacer par la version actuelle de la demande - Remplace la version de la demande par la version actuelle (active) du projet.

Version des sous-tâches ouvertes
- Remplacer par - Change la version de toutes les sous-tâches ouvertes par celle spécifiée.
- Définir égale à la version de la demande - Change la version de toutes les sous-tâches ouvertes par la version de la demande.

Interdire l'enregistrement
Interdit la création/l'édition de la demande. 
Observateurs
Ajoute les observateurs spécifiés à la demande. 
Statut
Change le statut de la demande vers celui spécifié. 
Tracker
Change le tracker de la demande vers celui spécifié. 
Liste de contrôle
Disponible si le plugin redmine_advanced_checklists est installé.
Crée automatiquement une liste de contrôle à partir de modèles lorsque les conditions sont remplies.
Utilisez des modèles préparés à l'avance. 
Projet
Change le projet de la demande vers celui spécifié.

En cas de problème ou de question, envoyez-nous un e-mail [email protected]