Redmineのワークフロー管理機能に分岐やロジックを追加するプラグインredmine_custom_workflows
Redmineのワークフロー管理機能に分岐やロジックを追加するプラグインredmine_custom_workflowsを見つけたのでメモ。
【参考】
anteo/redmine_custom_workflows
Custom Workflows - Plugins - Redmine
RedmineをBPMツールとして使うアイデア: プログラマの思索
Redmineにワークフローエンジンとして必要な機能~ワークフローに組織マスタの情報を持たせる: プログラマの思索
RedmineをBPMツールとして使うアイデアに書いたように、申請承認フローやBPMを実現するには、最低限の機能として、ワークフローを色々カスタマイズできる機能が必要。
上記のredmine_custom_workflowsプラグインを見ると、管理画面でWorkflow scriptsエリアに、Rubyスクリプトで分岐やロジックを直接書くことで、ワークフロー処理にフック処理を入れるみたいだ。
プラグインの画面はこんな感じ。
例えば、下記のようなスクリプトがサンプルとして登録されている。
(引用開始)
Set up a correlation between the start date, due date, done ratio and status of issues.
* If done ratio is changed to 100% and status is "In Process", status changes to "Resolved"
* If status is "New", "Resolved" or "Feedback" and done ratio is changed to value less than 100%, status changes to "In process"
* If status is changed to "In process" and start date is not set, then it sets to current date
* If status is changed to "Resolved" and end date is not set, then it set to due date
To use this script properly, turn off "Use current date as start date for new issues" option in the settings as this script already do it own way.
if @issue.done_ratio_changed? if @issue.done_ratio==100 && @issue.status_id==2 @issue.status_id=3 elsif [1,3,4].include?(@issue.status_id) && @issue.done_ratio<100 @issue.status_id=2 end endif @issue.status_id_changed?
if @issue.status_id==2
@issue.start_date ||= Time.now
end
if @issue.status_id==3
@issue.done_ratio = 100
@issue.start_date ||= @issue.created_on
@issue.due_date ||= Time.now
end
end
(引用終了)
上記のフック処理では、例えば、進行中(ステータスID=2)かつ進捗率=100%の状態でチケット更新したら、解決ステータス(ステータスID=3)へ自動更新される。
また、解決ステータスで期日が空欄の状態でチケット更新したら、期日に今日日付へ自動更新される。
期日なしでチケット更新されると、ガントチャートにチケットが表示されないので、強制的に期日に日付を入れて自動更新されるフック処理があると良い時もある。
あるいは、終了ステータスへ更新する時に、進捗率も100%へ自動更新する処理を入れることもできるだろう。
なお、Redmine3.0.xでも、redmine_custom_workflowsは正常動作するみたい。
上記のRubyスクリプトを見る限り、トラッカーごとにワークフロー処理にフック処理を入れることは可能だろう。
例えば、トラッカーごとに、あるステータスでは分岐処理を入れたり、根回し・投票などの機能を入れたりすることも可能だろう。
つまり、ワークフロー処理をカスタマイズすることで、複雑な事務処理フローをRedmineで実現することは敷居がかなり低くなるに違いない。
Rubyを自由に操れる開発者がチームにいるならば、redmine_custom_workflowsプラグインにRubyスクリプトを挿入して実際に試してみてもいいかもしれない。
色々試してみたい。
| 固定リンク
「Redmine」カテゴリの記事
- Redmineのバージョン設定でプロジェクトの設定方法が違う(2024.06.23)
- ウクライナのRedmine開発者が作ったRedmineテーマやプラグイン(2024.06.18)
- 第26回redmine.tokyo勉強会の感想~多様性はコミュニティが成功する重要な要因の一つ #redmineT(2024.06.15)
- Redmineで持ち株管理する事例(2024.04.21)
- チケットはデータでとプロセスの二面性を持つ #redmine(2023.12.24)
コメント