Advanced Workflows
説明
ビジネスプロセスの柔軟な設定と自動化のためのプラグイン。 Redmineの標準ワークフローを超える複雑なシナリオを設定し、自動実行することができます。また、柔軟な「カスタムルール」システムにより、特定の制限を設定することもできます。
主な機能
- 新しいカスタムフィールド形式:「日付と時刻」
- カスタムルール
- 自動アクション
互換性
Redmine: 5.0 - 6.0
Webブラウザ: Chrome, Firefox, Safari, Edge
データベース: MySQL 5.7, MySQL 8.0, PostgreSQL 14-16, SQLite
プラグイン: redmine_kanban, redmine_advanced_checklists, advanced_charts, appearance_custom, module_manager, periodic_reminder, user_group_editor, queries_perfect, selectbox_autocompiler, cost_calculator。
インストールと更新
-
古いバージョンのプラグインがRedmineに存在する場合は、削除します。
cd redmine/plugins rm -r advanced_workflows -
新しいプラグインフォルダ
advanced_workflowsをredmine/plugins/にコピーします。 -
Redmineのルートフォルダでマイグレーションを実行します。
bundle exec rake redmine:plugins:migrate RAILS_ENV=production NAME=advanced_workflows -
Redmineを停止して起動します。(一部のRedmineインストール(Dockerなど)では、再起動するだけでなく、サーバーを停止して起動することが重要です。)
アンインストール
- Redmineのルートフォルダでアンインストールコマンドを実行します。
bundle exec rake redmine:plugins:migrate RAILS_ENV=production NAME=advanced_workflows VERSION=0
redmine/plugins/からプラグインフォルダadvanced_workflowsを削除します。
rm -r advanced_workflows
- Redmineを停止して起動します。
設定
- 管理 -> ロールと権限でユーザーロールを設定します。
- 各プロジェクトの設定で、プロジェクトに対して「Advanced Workflows」モジュールを有効にします。
- 管理 -> プラグイン -> Advanced Workflows で、その他のプラグイン設定を確認および変更します。
管理
「ロールと権限」 セクション
- プロジェクトレベルでのルール管理 - プロジェクト内のルールとアクションを編集するためのアクセス権。
「カスタムフィールド」セクション
Advanced Workflows プラグインは、新しいカスタムフィールド形式 「日付と時刻」 を追加します。


「日付と時刻」 はフィルター(条件)として使用できます。

利用可能なオプション:
- 次の1時間 - 「日付と時刻」フィールドの値が現在のUTC時刻から次の1時間以内にあるチケットがフィルターに含まれます。

「プラグイン」セクション
管理 → プラグイン → Advanced Workflows で以下を設定できます:
- ユーザーとして実行 - スケジュールされたアクションを代行実行する管理者を選択するオプション。
- スケジュールされたアクション実行時の最大チケット数。

「カスタムルール」 セクション
カスタムルールを使用すると、定義された条件下でユーザーへのチケット割り当てに制限を設定できます。
管理 → カスタムルール でルールを作成および設定できます:

ルールの作成
作成時には、名前とプロジェクト設定での表示を指定します:

ルールの編集
ルールを作成すると、条件と制限を編集できるようになります。

ルール名をクリックすると、編集ウィンドウが開きます。 ここで、ルールを有効にするプロジェクトを指定できます。

可能な条件
- プロジェクト
- トラッカー
- バージョン
- 作成者
- 現在のユーザー
- 担当者のグループ
- 作成者のグループ
- 担当者のロール
- 現在のユーザーのロール
- チケットのステータス
- 親チケットのトラッカー
- 親チケットのバージョン
- 「チケット」のカスタムフィールド(タイプ:「リスト」、「テキスト」、「浮動小数点数」、「整数」、「日付」、「日付と時刻」)。
- 「プロジェクト」のカスタムフィールド(タイプ:「リスト」、「テキスト」、「浮動小数点数」、「整数」、「日付」)。


可能な 制限
- 担当者
- 担当者のグループ
- 担当者のロール
- 期日
- トラッカー
- バージョン

「自動アクション」 セクション
自動アクションを使用すると、指定された条件の範囲内で、チケット保存時またはスケジュールに従って、選択したアクションを実行できます。
管理 → 自動アクション で アクション を作成および設定できます:

アクションの作成
作成時には、名前、実行方法、プロジェクト設定での表示を指定します。 アクションは2つの異なる方法で実行できます:
- 保存時 - チケットの作成または編集時にアクションが即座に実行されます。
- スケジュール(cron) - ルールはcronスケジュールに従って定期的に実行されます。

アクションの編集
アクションを作成すると、ルール、条件、アクションを編集できるようになります。

ルール名をクリックすると、編集ウィンドウが開きます。 ここで、ルールを有効にするプロジェクトを指定できます。

可能な条件
- 標準のチケットフィルター
- カスタムチケットフィルター
- 他のプラグインのチケットフィルター
可能な アクション
- 担当者
- 保存を禁止
- メール送信
- ステータス
- トラッカー
- プロジェクト
- バージョン
- 未完了の子チケットのバージョン
- ウォッチャー
- Webhook(GET)
- Mattermost Webhook
- Telegram Webhook
- チェックリスト(redmine_advanced_checklists プラグインがインストールされている場合)


「メール送信」、「Webhook(GET)」、「Mattermost Webhook」、「Telegram Webhook」の各アクションでは、アクション変数を使用できます。

使用方法
ルールとアクションの有効化
ルール と アクション を作成した後、プロジェクト設定で個別に有効にする必要があります。
これを行うには、以下に移動します:
プロジェクト → 設定 → カスタムルール で、このプロジェクトで必要なルールを有効にします。

プロジェクト → 設定 → 自動アクション で、このプロジェクトで必要なアクションを有効にします。

カスタムルール
条件が満たされた場合に適用される利用可能な制限:
担当者
チケットは選択されたユーザーにのみ割り当てることができます。

担当者のグループ
チケットは選択されたグループに属するユーザーにのみ割り当てることができます。

担当者のロール
チケットはプロジェクトに対して選択されたロールを持つユーザーにのみ割り当てることができます。

期日
チケットの期日は指定された日付範囲内でのみ設定できます。

トラッカー
チケットは選択されたトラッカーのみを持つことができます。

バージョン
チケットは選択されたバージョンのみを持つことができます。

自動アクション
実行方法 「スケジュール」
アクションはcronスケジュールに従って定期的に実行されます。
自動アクションを正しく機能させるには、bundle exec rake advanced_workflows:run_actions コマンドを実行するサーバーの crontab に新しいコマンドを追加する必要があります。
コマンド例:
*/5 * * * * cd /redmine/への/絶対パス && bundle exec rake advanced_workflows:run_actions >> /redmine/への/絶対パス/logs/cron_advanced_workflows.log
このコマンドを Redmine を実行しているユーザーとして cron に追加し、/redmine/への/絶対パス を Redmine インストールフォルダの絶対パスに置き換えてください。
cronコマンドは5分ごとに実行されます */5 * * * *
すべての標準メッセージはファイル .../logs/cron_advanced_workflows.log に 追加 されます。
条件が満たされた場合に実行される利用可能なアクション:
Webhook(GET)
指定されたURLにGETリクエストを送信します。Jiraとの同期など、外部システムとの統合に使用されます。
すべてのチケットフィールド変数をサポートします。

Mattermost Webhook
Mattermostチャンネルにメッセージを送信します。
- URL:Mattermostの受信Webhook URL。
- POSTデータ:送信するメッセージ。
すべてのチケットフィールド変数をサポートします。 
Telegram Webhook
ボットを使用してTelegramグループチャットにメッセージを送信します。
- トークン:Telegramボットのトークン
- チャットID:このボットが追加されたチャットのID
- POSTデータ:送信するメッセージ
すべてのチケットフィールド変数をサポートします。 
メール送信
指定されたメールアドレスにメールを送信します。アドレスはカンマ , またはセミコロン ; で区切ることができます。
すべてのチケットフィールド変数をサポートします。

バージョン
チケットのバージョンを自動的に変更します。
- チケットの現在のバージョンに置き換える - チケットのバージョンをプロジェクトの現在の(有効な)バージョンに置き換えます。

未完了の子チケットのバージョン
- 次に変更 - すべての未完了の子チケットのバージョンを指定されたものに変更します。
- チケットのバージョンと同じに設定 - すべての未完了の子チケットのバージョンをチケットのバージョンに変更します。

保存を禁止
チケットの作成/編集を禁止します。 
ウォッチャー
指定されたウォッチャーをチケットに追加します。 
ステータス
チケットのステータスを指定されたものに変更します。 
トラッカー
チケットのトラッカーを指定されたものに変更します。 
チェックリスト
redmine_advanced_checklists プラグインがインストールされている場合に利用可能です。
条件が満たされたときに、テンプレートからチェックリストを自動的に作成します。
事前に準備されたテンプレートを使用してください。 
プロジェクト
チケットのプロジェクトを指定されたものに変更します。

問題や質問が発生した場合は、次のメールアドレスまでご連絡ください [email protected]