僕が実際にプロジェクト管理の現場で使用しているプラグインや行ったほうが良いカスタマイズなんかを説明して行きます。
まずはターゲット環境の確認です。この環境はBitnami Redmine Stack 3.3.2を使用してCentOS 7.1上に構築しています。構築方法はコチラの記事を参照してください。
対象 | バージョン |
---|---|
Redmie | 3.3.2.stable |
Ruby | 2.1.10-p492 |
Ruby on Rails | 4.2.7.1 |
DB | Mysql2 |
Subversion | 1.9.5 |
Contents
プラグイン
Redmine Work Time Plugin
Redmineで工数管理を行うには必須といっても良いプラグイン。担当しているチケットの工数を一覧画面で入力出来るようになります。
参考:https://www.r-labs.org/projects/worktime/wiki
- プラグインのダウンロード
- データベースのマイグレーション
- Redmineの再起動
以下のコマンドを実行します。
$ sudo wget https://bitbucket.org/tkusukawa/redmine_work_time/downloads/redmine_work_time-0.3.4.zip $ sudo unzip redmine_work_time-0.3.4.zip $ sudo rm redmine_work_time-0.3.4.zip
このプラグインデータデータベースのマイグレーションが必要です。以下のコマンドを実行します。
$ cd /opt/bitnami/apps/redmine/htdocs $ sudo /opt/bitnami/use_redmine //Bitnami consoleを使用。プロンプトが『bash-4.2#』に変わる bash-4.2# RAILS_ENV=production bundle exec rake db:migrate:plugin bash-4.2# exit
$ sudo /opt/bitnami/ctlscript.sh restart
EVM Calculation Plugin
RedmineでEVMによる進捗管理を行うためのプラグインです。EVMについてはググってください。
参考:https://github.com/momibun926/redmine_issue_evm
- プラグインのダウンロード
- データベースのマイグレーション
- Redmineの再起動
以下のコマンドを実行します。
$ cd /opt/bitnami/apps/redmine/htdocs/plugins $ sudo git clone https://github.com/momibun926/redmine_issue_evm.git redmine_issue_evm
同じ手順なので省略。
同じ手順なので省略。
Redmine Issue Templates Plugin
「新しいチケット」を発行する際の本文として、あらかじめ設定したテンプレートが適用できるようになります。バグ報告用テンプレートなどを登録しておきくと、報告内容の漏れ防止や報告内容を統一することができます。
参考:https://github.com/akiko-pusu/redmine_issue_templates
- プラグインのダウンロード
- データベースのマイグレーション
- Redmineの再起動
以下のコマンドを実行します。
$ cd /opt/bitnami/apps/redmine/htdocs/plugins $ sudo git clone https://github.com/akiko-pusu/redmine_issue_templates redmine_issue_templates
同じ手順なので省略。
同じ手順なので省略。
Sidebar Plugin
サイドメニューの表示/非表示を切り替えてプロジェクタで投影時にメインコンテンツを見やすくできます。
参考:https://github.com/bdemirkir/sidebar_hide
- プラグインのダウンロード
以下のコマンドを実行します。
$ cd /opt/bitnami/apps/redmine/htdocs/plugins $ sudo git clone https://github.com/bdemirkir/sidebar_hide.git
このプラグインではマイグレーションや再起動は不要です。
Redmine Banner Plugin
Redmineの使い方のアナウンスやメンテナンスのお知らせなどに使用します。
参考:https://github.com/akiko-pusu/redmine_banner
- プラグインのダウンロード
- データベースのマイグレーション
- Redmineの再起動
以下のコマンドを実行します。
$ cd /opt/bitnami/apps/redmine/htdocs/plugins $ sudo git clone https://github.com/akiko-pusu/redmine_banner.git redmine_banner
同じ手順なので省略。
同じ手順なので省略。
Redmine Issues Tree
<2017/7/30追加>
Redmineのチケット一覧表示画面で、親子関係のあるチケットをツリー形式で表示出来るようになります。
<参考>
Redmine 3.2でチケットを親子関係でツリー状に表示させるプラグイン『Redmine Issues Tree』
詳しいインストール方法は別記事(別記事1や別記事2)にまとめました。
[注意]
Redmine Issues Treeプラグインは2017/7/30時点で、Redmine3.3.x系までしか対応していないようです。Redmine3.4.x系で使用したい方はプラグイン作者が対応するまで待つ必要があります。
https://k99-tech.com/blog/archives/575



カスタマイズ
日付の表示形式を絶対形式(yyyy/m/d)にする
デフォルトでは日付が「○日前」といった様に、現在日時からの相対的な表現で表示されるようです。これでは正確な日時が表示される不便なので日付の表現を絶対表現に変更します。どうやらプラグインもあるようですが、私の環境ではうまく行かなかったので以下の方法で変更します。
CSSファイルの最終行に以下の記述を追加して(要root権限)、Redmineを再起動します。
- /opt/bitnami/apps/redmine/htdocs/public/stylesheets/application.css
/* date */ a[href*="activity"][title*=":"]:before { content: ' [' attr(title) '] '; }
進捗率の計算方法変更
Redmineでは各チケットの進捗率をチケットのステータスと連動させることが出来ますが、チケットのステータスと進捗率を連動させた場合、親子関係にあるチケットの進捗率計算が自動更新されなくなります。進捗率をステータス連動にした場合でも親チケットの進捗率を子チケットの進捗率から算出するように変更します。
- /opt/bitnami/apps/redmine/htdocs/app/models/issue.rb (666行目、762行目)
if Issue.use_status_for_done_ratio? && status && status.default_done_ratio
if Issue.use_status_for_done_ratio? && status && status.default_done_ratio && !self.children?
unless Issue.use_status_for_done_ratio? && p.status && p.status.default_done_ratio
unless Issue.use_status_for_done_ratio? && p.status && p.status.default_done_ratio && !p.children?
進捗率を5%刻みにする
デフォルトの状態ではチケットに対して設定できる進捗率は10%刻みとなっています。これを5%刻みで更新できるように変更します。
- /opt/bitnami/apps/redmine/htdocs/app/views/issues/_attributes.html.erb (72行目)
<%= f.select :done_ratio, ((0..10).to_a.collect {|r| ["#{r*10} %", r*10] }), :required =>@issue.required_attribute?('done_ratio') %>
<%= f.select :done_ratio, ((0..100).step(5).to_a.collect {|r| ["#{r} %", r] }), :required =>@issue.required_attribute?('done_ratio') %>
<%= f.select :done_ratio, ((0..10).to_a.collect {|r| ["#{r*10} %", r*10] }), :required =>@issue.required_attribute?('done_ratio') %>
<%= f.select :done_ratio, ((0..100).step(5).to_a.collect {|r| ["#{r} %", r] }), :required =>@issue.required_attribute?('done_ratio') %>
参考:https://teratail.com/questions/42383
関連記事



コメント