Redmineのガントチャートに担当者名を表示する

今もプロジェクトでRedmineを使ったりしています。

背景

Redmineを使っていて、ガントチャートを見た時に担当者が表示されていないので不便でした。

f:id:mabushii_sign:20200730223249p:plain

そこで、今まではサーバ上のソースを修正して表示させていたのですが、Redmineのサーバを移行するにあたり、さすがにソース修正以外の方法を試そうと思いました。

最初に考えた方法

せっかくなので、プラグインを作ってしまおうと思いました。(Rubyも大して知らないのに)
いろいろ調べて、hooksの仕組みが良さそうと思ったのですが、ガントチャートにはhooksの仕組みがなかったのでやめました。 既存のプラグインを活用する方法を検討しました。

Redmine view customize plugin

ググって調べてみると、このRedmine view customize pluginがあればできそうとわかりました。
これを使うと、パスのパターンに合わせてJavaScript, CSSを埋め込むことが出来ます。

github.com

※プラグインの導入方法は上記ページに書いてあります

カスタマイズ

管理ページに、「表示のカスタマイズ」が追加されます。
そこで、以下の内容を設定します。

  • パスのパターン: /issues/gantt
  • 挿入位置: 全ページのヘッダー
  • 種別: JavaScript
  • コード

Redmineのガントチャートに担当者を表示する

ソースの概要ですが、Redmineの4.0以降ではオプションで表示ができる担当者の項目が表示されます。
この情報を取得して、進捗率の後ろに付け足しています。そのため、チケットが表示期間内にない場合は表示されません。
※この出せるようになった担当者の情報は作った後に気づいたのですが、ガントチャートと離れていてなんとなく見にくいので表示はさせていません

適用イメージ

こんな感じで、進捗率の後ろに担当者名が表示されるようになりました。

f:id:mabushii_sign:20200730224745p:plain