Advanced Workflows
Opis
Wtyczka do elastycznej konfiguracji i automatyzacji procesów biznesowych. Pozwala konfigurować i automatycznie wykonywać złożone scenariusze, wykraczające poza standardowe workflow Redmine. Elastyczny system "reguł niestandardowych" pozwala również na ustanowienie określonych ograniczeń.
Kluczowe funkcje
- Nowy format pól niestandardowych: "Data i czas"
- Reguły niestandardowe
- Akcje automatyczne
Zgodność
Redmine: 5.0 - 6.0
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_workflows -
Skopiuj nowy folder wtyczki
advanced_workflowsdoredmine/plugins/. -
Uruchom migracje w głównym katalogu Redmine.
bundle exec rake redmine:plugins:migrate RAILS_ENV=production NAME=advanced_workflows -
Zatrzymaj i uruchom Redmine. (W niektórych instalacjach Redmine (np. Docker) ważne jest, aby zatrzymać i uruchomić serwer, a nie tylko go zrestartować.)
Odinstalowywanie
- Wykonaj polecenie odinstalowujące w głównym katalogu Redmine.
bundle exec rake redmine:plugins:migrate RAILS_ENV=production NAME=advanced_workflows VERSION=0
- Usuń folder wtyczki
advanced_workflowszredmine/plugins/.
rm -r advanced_workflows
- Zatrzymaj i uruchom Redmine.
Konfiguracja
- Skonfiguruj role użytkowników w Administracja -> Role i uprawnienia.
- Włącz moduł «Advanced Workflows» dla projektów w ustawieniach każdego projektu.
- Sprawdź i zmień inne ustawienia wtyczki w Administracja -> Wtyczki -> Advanced Workflows.
Administracja
Sekcja "Role i uprawnienia"
- Zarządzanie regułami na poziomie projektu - dostęp do edycji reguł i akcji w projekcie.
Sekcja "Pola niestandardowe"
Wtyczka Advanced Workflows dodaje nowy format pola niestandardowego: "Data i czas"


"Data i czas" może być używany jako filtr (warunek).

Dostępne opcje:
- Następna godzina - filtr obejmie te zgłoszenia, których wartość pola "Data i czas" mieści się w ciągu następnej godziny od bieżącego czasu UTC.

Sekcja "Wtyczki"
W Administracja → Wtyczki → Advanced Workflows można skonfigurować:
- Wykonaj jako użytkownik - Możliwość wyboru administratora, w imieniu którego będą wykonywane zaplanowane akcje.
- Maksymalna liczba zgłoszeń podczas wykonywania zaplanowanych akcji.

Sekcja "Reguły niestandardowe"
Reguły niestandardowe pozwalają na ustanowienie ograniczeń dotyczących przypisywania zgłoszeń do użytkowników w określonych warunkach.
W Administracja → Reguły niestandardowe można tworzyć i konfigurować reguły:

Tworzenie reguł
Podczas tworzenia podaj nazwę i wyświetlanie w ustawieniach projektu:

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

Kliknięcie nazwy reguły spowoduje otwarcie okna edycji. Tutaj można określić, w których projektach reguła ma być włączona.

Możliwe warunki
- Projekt
- Tracker
- Wersja
- Autor
- Bieżący użytkownik
- Grupa przypisanego
- Grupa autora
- Rola przypisanego
- Rola bieżącego użytkownika
- Status zgłoszenia
- Tracker zgłoszenia nadrzędnego
- Wersja zgłoszenia nadrzędnego
- Pola niestandardowe "Zgłoszenia" typów "Lista", "Tekst", "Zmiennoprzecinkowy", "Całkowity", "Data", "Data i czas".
- Pola niestandardowe "Projekty" typów "Lista", "Tekst", "Zmiennoprzecinkowy", "Całkowity", "Data".


Możliwe ograniczenia
- Przypisany
- Grupa przypisanego
- Rola przypisanego
- Termin zakończenia
- Tracker
- Wersja

Sekcja "Akcje automatyczne"
Akcje automatyczne pozwalają na wykonywanie wybranych akcji podczas zapisywania zgłoszenia lub zgodnie z harmonogramem, w ramach określonych warunków.
W Administracja → Akcje automatyczne można tworzyć i konfigurować akcje:

Tworzenie akcji
Podczas tworzenia podaj nazwę, metodę wykonania i wyświetlanie w ustawieniach projektu. Akcje mogą być wykonywane na dwa różne sposoby:
- Przy zapisie - akcje będą wykonywane natychmiast podczas tworzenia lub edycji zgłoszenia.
- Zgodnie z harmonogramem (cron) - reguły będą wykonywane okresowo zgodnie z harmonogramem cron.

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

Kliknięcie nazwy reguły spowoduje otwarcie okna edycji. Tutaj można określić, w których projektach reguła ma być włączona.

Możliwe warunki
- Standardowe filtry zgłoszeń
- Niestandardowe filtry zgłoszeń
- Filtry zgłoszeń z innych wtyczek
Możliwe akcje
- Przypisany
- Zablokuj zapis
- Wyślij e-mail
- Status
- Tracker
- Projekt
- Wersja
- Wersja otwartych podzadań
- Obserwatorzy
- Webhook (GET)
- Webhook Mattermost
- Webhook Telegram
- Lista kontrolna (jeśli zainstalowano wtyczkę redmine_advanced_checklists)


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

Użycie
Włączanie reguł i akcji
Po utworzeniu reguł i akcji należy je osobno włączyć w ustawieniach projektów.
W tym celu przejdź do:
Projekt → Ustawienia → Reguły niestandardowe, włącz te reguły, które są potrzebne w tym projekcie.

Projekt → Ustawienia → Akcje automatyczne, włącz te akcje, które są potrzebne w tym projekcie.

Reguły niestandardowe
Dostępne ograniczenia, które będą stosowane po spełnieniu warunków:
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 należących do wybranych grup.

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

Termin zakończenia
Termin zakończenia zgłoszeń może być określony tylko w określonym zakresie dat.

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

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

Akcje automatyczne
Metoda wykonania "Zgodnie z harmonogramem"
Akcje będą wykonywane okresowo zgodnie z harmonogramem cron.
Aby akcja automatyczna działała poprawnie, należy dodać nowe polecenie do crontab serwera, które wykonuje polecenie bundle exec rake advanced_workflows:run_actions
Przykładowe polecenie:
*/5 * * * * cd /bezwzględna/ścieżka/do/redmine && bundle exec rake advanced_workflows:run_actions >> /bezwzględna/ścieżka/do/redmine/logs/cron_advanced_workflows.log
Dodaj to polecenie do crona jako użytkownik, pod którym uruchomiony jest Redmine, zastępując /bezwzględna/ścieżka/do/redmine bezwzględną ścieżką do folderu instalacyjnego Redmine.
Polecenie cron będzie uruchamiane co 5 minut */5 * * * *
Wszystkie standardowe komunikaty będą dopisywane do pliku .../logs/cron_advanced_workflows.log
Dostępne akcje, które zostaną wykonane po spełnieniu warunków:
Webhook (GET)
Wysyła żądanie GET na określony URL. Używany do integracji z systemami zewnętrznymi, na przykład do synchronizacji z Jirą.
Obsługuje wszystkie zmienne pól zgłoszenia.

Webhook Mattermost
Wysyła wiadomość do kanału Mattermost.
- URL: URL przychodzącego webhooka Mattermost.
- Dane POST: wiadomość, która ma zostać wysłana.
Obsługuje wszystkie zmienne pól zgłoszenia. 
Webhook Telegram
Wysyła wiadomość do czatu grupowego Telegram za pomocą bota.
- Token: token bota Telegram
- ID czatu: ID czatu, w którym dodano tego bota
- Dane POST: wiadomość, która ma zostać wysłana
Obsługuje wszystkie zmienne pól zgłoszenia. 
Wyślij e-mail
Wysyła e-mail na wskazane adresy pocztowe. Adresy można oddzielać przecinkami , lub ;.
Obsługuje wszystkie zmienne pól zgłoszenia.

Wersja
Automatycznie zmienia wersję zgłoszenia.
- Zastąp wersją bieżącego zgłoszenia - Zastępuje wersję zgłoszenia bieżącą (aktywną) wersją projektu.

Wersja otwartych podzadań
- Zmień na - Zmienia wersję wszystkich otwartych podzadań na określoną.
- Ustaw równą wersji zgłoszenia - Zmienia wersję wszystkich otwartych podzadań na wersję zgłoszenia.

Zablokuj zapis
Blokuje tworzenie/edycję zgłoszenia. 
Obserwatorzy
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 zainstalowano wtyczkę redmine_advanced_checklists.
Automatycznie tworzy listę kontrolną z szablonów po spełnieniu warunków.
Użyj wcześniej przygotowanych szablonów. 
Projekt
Zmienia projekt zgłoszenia na określony.

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