Redmineのwikiにチケット件数の集計を表示させる

Redminewikiには、基本的に箇条書きで情報を記載するようにしている。記載は簡単だし、見た目も良い。しかしながら、中には箇条書きではなく表形式で表示させた方が分かりやすい類の情報も有るし、Excel文化の名残りなのか何でもかんでも表にしなければ気が済まない人もいる。

箇条書きなら簡単なwikiも表を書くとなると少々手間がかかる。行と列の整合が取れるように注意深く記載するものの、セルのデータが予期せぬ箇所に表示されたりするので、プレビュー機能を使って何度も記載を確認する羽目になる。

そんな訳で、ある程度まとまった情報を記載する際には、一旦Excelで記載したデータを、下記のツールを使ってwikiフォーマットへ変換するようにしている。これならデータの配置に悩む必要はないし、少なくともイチから全て表を書くことに比べたら、手間は大きく削減できる。

ただし、気をつけねばならないのは、そんなデータの2重管理をしてしまうと「wikiの記載は古いので、最新のデータはExcelファイルを見てね」と本末転倒な状況になってしまう事だ。これでは何のためにwikiを使っているのか分からなくなってしまう。

しかし、(記載する内容に依存するけれど)チケットの件数を表形式で示すのが目的なら、もっと手っ取り早い方法がある。例えば、下記のような「各バージョン毎のチケット件数」を表示させる場合、wikiをベタに記載するとこのような形になる。

|バージョン|件数|
|version#61|1|
|version#63|9|
|version#65|5|
|合計|15|

実際の表示例は、もちろんこんな形だ。分かりやすい形の表現ではあるけど、誰かが更新しない限り、wikiは古い情報を表示し続けることになる。

バージョン 件数
ver-1.0 1
ver-1.1 9
ver-1.2 5
合計 15

ここでWiki Listsプラグインを導入して、"-c"オプションを指定して件数を表示させる機能を使う。

上記の場合のwikiの記載は、下記の形になる。

|バージョン|件数|
|version#61|{{ref_issues(-p=darkside,-i=12, -c)}}|
|version#63|{{ref_issues(-p=darkside,-i=14, -c)}}|
|version#65|{{ref_issues(-p=darkside,-i=16, -c)}}|
|合計|{{ref_issues(-p=darkside,-i=20, -c)}}|

wikiを表示させた結果は全く同じだれど、ページ更新時にチケットのクエリが必ず処理されるので、「wikiを表示させれば常に最新情報が表示される」メリットがある。例えば、打合せ中にチケットのステータスを更新して、その直後にwikiページを表示させると、既にチケットの変更が反映された表(件数)が表示されるわけだ。これなら、わざわざ手作業でwikiを更新する必要が無く、大変便利だ。

マクロだらけのややこしい記載になってしまうし、テーブルが大きくなるほどクエリの件数も増えるので表示に時間がかかってしまうデメリットは有るけれど、メリットの方が遥かに大きいのでお気に入りの記載方法だったりする。