[Redmine] チケットの戻り先を常に全プロジェクトのチケット一覧に変更するカスタマイズ

Redmineを使用している方の中で、複数プロジェクトに関わっている方ってどれくらいいるでしょうか。

おそらく、大半の方が複数プロジェクトに携わっていて、タスク管理も複数プロジェクトに跨って行っていると思います。

自分もその中の1人なのですが、常々思っていたのが、「個別にチケットを開いた後に、全プロジェクトのチケット一覧に戻る手段がないのが不便だ」ということ。

ヘッダの「プロジェクト」に移動し、「チケット」タブを開く、という手段で解決はしますが、できれば個別チケットページから直接「全プロジェクトのチケット一覧」に戻れたら楽だろうな~と。

そんなことを思っていたら、チーム内でちょっとした声が上がったため、これを機に解決法を探してみることにしました。

しかし、意外と簡単に表示のカスタマイズで解決できたので、その手順をメモメモ。

ヘッダ直下にあるチケット一覧へのリンク書き換え

ヘッダ部分のすぐ下にある、プロジェクト名のリンクを書き換える手順。

ヘッダ直下のプロジェクト名のリンク部分

上の赤い枠で囲った部分をクリックすると、通常はそのプロジェクト内のチケット一覧ページに移動します。ここを、全プロジェクトのチケット一覧に移動するようにカスタマイズしてみます。

ヘッダの「管理」から「表示のカスタマイズ」ページへ移動し、「新しい表示のカスタマイズ」をクリックします。

新しい表示のカスタマイズ

管理ページの中に「表示のカスタマイズ」がない場合は、View Customizeというプラグインのインストールが必要です。プラグインのインストール方法については、下記の記事を参考にしてください。

Redmineのチケット一覧表示は、デフォルトの状態では過ぎてしまった期日が赤く表示される以外、特に強調表示や色を変えての表示はありません。 期日当日のチケッ...

カスタマイズ内容は、以下のように入力します。

ヘッダのカスタマイズ内容の入力

パスのパターンには「/*」を指定します。全てのページが対象です。

挿入位置は「全ページのヘッダ」を指定します。

種別は「JavaScript」です。厳密にはjQueryですが、JavaScript指定で大丈夫です。

コードは以下をコピー&ペーストでOK。

$(document).ready(function() {
    $("#header h1 span.breadcrumbs a.root").attr("href", "/redmine/issues")
});

あとは「保存」ボタンをクリックして保存すれば、ヘッダ直下のプロジェクト名からのリンク先が、常に全プロジェクトのチケット一覧ページに置き換わります。

メニューにあるチケットタブのリンク書き換え

ヘッダ下にあるメニューバーのチケットタブも、プロジェクトの中にいる場合はプロジェクトごとのチケット一覧ページへ移動するリンクに書き換わってしまうため、常に全プロジェクトのチケット一覧ページへ移動できるようにします。

ヘッダの「管理」から「表示のカスタマイズ」ページへ移動し、「新しい表示のカスタマイズ」をクリックします。

新しい表示のカスタマイズ

カスタマイズ内容は、以下のように入力します。

メニューのカスタマイズ内容の入力

パスのパターンには「/*」を指定します。全てのページが対象です。

挿入位置は「全ページのヘッダ」を指定します。

種別は「JavaScript」です。こちらも厳密にはjQueryですが、JavaScript指定で大丈夫です。

コードは以下をコピー&ペーストでOK。

$(document).ready(function() {
    $("#main-menu ul li a.issues").attr("href", "/redmine/issues")
});

あとは「保存」ボタンをクリックして保存すれば、メニューバーのチケットタブのリンク先が、常に全プロジェクトのチケット一覧ページに置き換わります。

両方書き換えたい場合は

単純に、上の両方を設定すればOKです。

jQueryが分かる方なら、「/issue」がつくリンク文字列を全て書き換える、というように書き換えてもいいかもしれません。

さいごに

ここで紹介した書き換え手順は、「//サーバ/redmine」というURL構成になっていると仮定していますので、構成が違う環境の場合は、その環境に合わせてコードを書き換えてください。

本来はプロジェクトごとのチケット一覧に移動できた方がいいとは思うのですが、チーム内で「ついプロジェクト名をクリックしてチケット一覧に飛んでしまうので、他のプロジェクトのチケットに変化があっても気付けない」という声があったため、このような書き換えを行ってみました。

チケットに変化があった場合は、都度メールが飛ぶような設定にしているので、「気付けない」という部分に疑問が残るのですが…。

とは言え、基本的に複数プロジェクトを同時進行するのが当たり前の状況にあるので、自分としても全プロジェクトのチケット一覧に飛んで、そこでカスタムクエリで各個人のチケットを表示、という方が使いやすいように感じました。

このようなカスタマイズは割とレアケースなのかな、とは思いますが、同じような状況にある方はお試しあれ!

初稿:2021年7月30日