Zaawansowany Workflow
Opis
Wtyczka do elastycznej konfiguracji i automatyzacji procesów biznesowych. Pozwala na konfigurowanie i automatyczne wykonywanie złożonych scenariuszy, które wykraczają poza standardowe workflow Redmine. Elastyczny system "Własnych reguł" pozwala na ustawianie specyficznych ograniczeń.
Główne cechy
- Nowy format pola niestandardowego: "Data i godzina"
- Własne reguły
- Automatyczne akcje
Kompatybilność
Redmine: 5.0 - 6.1
Przeglądarki internetowe: Chrome, Firefox, Safari, Edge
Bazy danych: MySQL 5.7, MySQL 8.0, PostgreSQL 14-16, SQLite
Wtyczki: redmine_kanban, redmine_advanced_checklists, advanced_charts, appearance_custom, module_manager, periodic_reminder, user_group_editor, queries_perfect, selectbox_autocompiler, cost_calculator.
Instalacja i aktualizacja
-
Usuń starą wersję wtyczki z Redmine, jeśli istnieje.
cd redmine/plugins rm -r advanced_workflow -
Skopiuj nowy folder wtyczki
advanced_workflowdoredmine/plugins/ -
Uruchom migracje w głównym katalogu Redmine
bundle exec rake redmine:plugins:migrate RAILS_ENV=production NAME=advanced_workflow -
Zatrzymaj i uruchom Redmine. (W niektórych instalacjach Redmine (np. w Dockerze), ważne jest, aby zatrzymać i uruchomić serwer, a nie tylko go zrestartować.)
Usuwanie
- Uruchom polecenie usunięcia w głównym katalogu Redmine
bundle exec rake redmine:plugins:migrate RAILS_ENV=production NAME=advanced_workflow VERSION=0
- Usuń folder wtyczki
advanced_workflowzredmine/plugins/
rm -r advanced_workflow
- Zatrzymaj i uruchom Redmine.
Konfiguracja
- Skonfiguruj role użytkowników w Administracja -> Role i uprawnienia.
- Włącz moduł "Zaawansowany Workflow" dla projektów w ustawieniach każdego projektu.
- Sprawdź i zmień inne ustawienia wtyczki w Administracja -> Moduły -> Zaawansowany Workflow.
Administracja
Sekcja "Role i uprawnienia"
- Zarządzaj regułami na poziomie projektu - Dostęp do modyfikacji reguł i akcji wewnątrz projektu.
Sekcja "Pola niestandardowe"
Wtyczka Zaawansowany Workflow dodaje nowy format pola niestandardowego "Data i godzina"


"Data i godzina" może być używana jako filtr (warunek)

Dostępne opcje:
- Następna godzina - Filtr obejmuje zgłoszenia, w których wartość pola "Data i godzina" mieści się w następnej godzinie względem bieżącej godziny UTC.

Sekcja "Moduły"
W Administracja -> Moduły -> Zaawansowany Workflow można skonfigurować:
-
Wykonaj jako użytkownik - Możliwość wybrania administratora, w imieniu którego będą wykonywane akcje zgodnie z harmonogramem
-
Maksymalna liczba zgłoszeń podczas wykonywania zaplanowanych akcji

Sekcja "Własne reguły"
Własne reguły pozwalają na ustawianie ograniczeń przypisywania zgłoszeń do użytkowników w określonych warunkach.
W Administracja -> Własne reguły można tworzyć i konfigurować reguły:

Tworzenie reguły
Podczas tworzenia, należy określić nazwę i aktywność:

Edycja reguł
Po utworzeniu reguły, pojawia się możliwość edycji warunków i ograniczeń.

Możliwe warunki:
- Projekt
- Tracker
- Wersja
- Autor
- Bieżący użytkownik
- Przypisany do grupy
- Grupa autora
- Przypisany do roli
- Rola bieżącego użytkownika
- Status zgłoszenia
- Tracker zgłoszenia nadrzędnego
- Wersja zgłoszenia nadrzędnego
- Pola niestandardowe "Zgłoszenia" z typami "Lista", "Tekst", "Float", "Integer", "Data", "Data i godzina".
- Pola niestandardowe "Projekty" z typami "Lista", "Tekst", "Float", "Integer", "Data".


Możliwe ograniczenia:
- Przypisany
- Przypisany do grupy
- Rola przypisanego
- Termin realizacji
- Tracker
- Wersja

Sekcja "Automatyczne akcje"
Automatyczne akcje pozwalają na wykonywanie wybranych akcji przy zapisywaniu zgłoszenia lub zgodnie z harmonogramem, w określonych warunkach.
W Administracja -> Automatyczne akcje można tworzyć i konfigurować Akcje:

Tworzenie akcji
Podczas tworzenia, należy określić nazwę, metodę wykonania i aktywność.
Akcje mogą być wykonywane na dwa różne sposoby:
-
Przy zapisie - akcje zostaną wykonane natychmiast podczas tworzenia/edycji zgłoszenia.
-
Cron job - reguły będą uruchamiane okresowo zgodnie z harmonogramem cron.

Edycja akcji
Po utworzeniu akcji, pojawia się możliwość edycji warunków i akcji.

Możliwe warunki:
- Standardowe filtry dla zgłoszeń
- Niestandardowe filtry dla zgłoszeń
Możliwe akcje:
- Przypisany
- Wyłącz zapisywanie
- Wyślij email
- Status
- Tracker
- Wersja
- Wersja otwartych podzadań
- Obserwator
- Webhook (GET)
- Webhook Mattermost
- Webhook Telegram
- Lista kontrolna (jeśli zainstalowana jest wtyczka :redmine_advanced_checklists)


Dla akcji "Wyślij email", "Webhook (GET)", "Webhook Mattermost" i "Webhook Telegram" dostępne są zmienne akcji.

Użytkowanie
Włączanie reguł i akcji
Po utworzeniu reguł i akcji, należy je oddzielnie włączyć w ustawieniach projektu.
Aby to zrobić, przejdź do:
Projekt -> Ustawienia -> Własne reguły, włącz potrzebne reguły w tym projekcie.

Projekt -> Ustawienia -> Automatyczne akcje, włącz potrzebne akcje w tym projekcie.

Własne reguły
Dostępne ograniczenia, które zostaną zastosowane, gdy warunki są spełnione:
Przypisany:
Zgłoszenie może być przypisane tylko do wybranych użytkowników.

Grupa przypisanego:
Zgłoszenie może być przypisane tylko do użytkowników będących członkami wybranych grup.

Rola przypisanego:
Zgłoszenie może być przypisane tylko do użytkowników z wybraną rolą w projekcie.

Termin realizacji:
Termin realizacji zgłoszenia może być określony tylko w zdefiniowanym przedziale dat.

Tracker:
Zgłoszenia mogą mieć tylko wybrane trackery.

Wersja:
Zgłoszenia mogą mieć tylko wybrane wersje.

Automatyczne akcje
Metoda wykonania "Cron job"
Akcje będą wykonywane okresowo zgodnie z harmonogramem cron.
Aby automatyczna akcja działała poprawnie, należy dodać nowe polecenie do crontab serwera, które wykonuje polecenie bundle exec rake advanced_workflows:run_actions
Przykład polecenia:
*/5 * * * * cd /absolute/path/to/redmine && redmine bundle exec rake advanced_workflows:run_actions >> /absolute/path/to/redmine/logs/cron_advanced_workflows.log
Dodaj to polecenie do cron w imieniu użytkownika, pod którym uruchomiony jest Redmine, zastępując /ścieżka/absolutna/do/redmine absolutną ścieżką do folderu instalacyjnego Redmine.
Polecenie cron będzie uruchamiane co 5 minut */5 * * * *
Wszystkie standardowe komunikaty zostaną dopisane do pliku .../logs/cron_advanced_workflows.log
Dostępne akcje, które zostaną wykonane, gdy warunki są spełnione:
Webhook (GET):
Wysyła żądanie GET na określony adres URL. Używane do integracji z systemami zewnętrznymi, np. do synchronizacji z Jira.
Obsługuje wszystkie zmienne pola zgłoszenia.

Webhook Mattermost:
Wysyła wiadomość na określony adres URL w formacie Mattermost. Do integracji z Mattermost.
Obsługuje wszystkie zmienne pola zgłoszenia.

Webhook Telegram
Wysyła wiadomość na określony adres URL w formacie Telegram. Do integracji z Telegram
Obsługuje wszystkie zmienne pola zgłoszenia.
Wyślij email:
Wysyła wiadomość email do określonych użytkowników lub użytkowników w grupach.
Obsługuje wszystkie zmienne pola zgłoszenia.

Wersja:
Automatycznie zmienia wersję zgłoszenia.
- Zamień na wersję bieżącego zgłoszenia - Zamień wersję zgłoszenia na bieżącą (efektywną) wersję projektu.

Wersja otwartych podzadań:
-
Zmień na - Zmienia wersję wszystkich otwartych podzadań na określoną.
-
Ustaw taką samą jak wersja zgłoszenia - Zmienia wersję wszystkich otwartych podzadań na wersję zgłoszenia.

Wyłącz zapisywanie:
Wyłącza tworzenie/edycję zgłoszenia.

Obserwator:
Dodaje określonych obserwatorów do zgłoszenia.

Status:
Zmienia status zgłoszenia na określony.

Tracker:
Zmienia tracker zgłoszenia na określony.

Lista kontrolna:
Dostępne, jeśli zainstalowana jest wtyczka :redmine_advanced_checklists.
Automatycznie tworzy listę kontrolną z szablonów, gdy warunki są spełnione.
Używaj wstępnie przygotowanych szablonów.

W przypadku problemów lub pytań napisz do nas e-mail [email protected]