Subscribed unsubscribe Subscribe Subscribe

TracReportをWikiに取り込む&グラフ表示 のプラグイン

Trac

trachacksを探しても、ありそうで無かったので作ってみた。TracQueryで、クエリーを投げて結果をWikiに貼付けられるけども、SQLガリガリ書いたレポートだとこれでは無理なので。

まだ、日付の変換処理やグルーピングには対応していないので、TracReportそのままが表示されるわけではないですが...どちらかというと、グラフ表示がメインになってしまったかも。

Shibuya.tracリポジトリに突っ込んでおきました。

http://svn.sourceforge.jp/svnroot/shibuya-trac/plugins/reportincludeplugin/trunk/0.11

使い方ですが、例えば、担当者別チケットクローズ数を棒グラフで表示したい、とした場合、まずは以下のSQLのTracReportを作成し、グラフの元ネタの表を出力可能にします。

SELECT author, count(*) AS Count FROM ticket_change 
   WHERE field = 'resolution' AND newvalue = 'fixed' 
   GROUP BY author 
   ORDER BY Count DESC

表からグラフの生成は、以下のルールに従って行われます。なので、これを意識してSQLを書く必要あり。

  • 一番左の列が、X軸の値になります。
    • ここが日付の場合は、yyyy-mm-dd形式の場合は日付と見なして、時系列データとして扱います。日付形式は現在ハードコーディングなので、ここは改善予定。
  • 2列目以降がグラフのデータとなります。
  • ヘッダ行の値がラベルになります。

あとは、Wiki表記が使えるお好きな場所に、以下のようにマクロを記述します。11は、作成したTracReportのIDです。

[[ReportInclude(11, graph:bars)]]

そうすると、以下のようにグラフと表がWikiに表示されます。

http://img.skitch.com/20090725-jjr68reehsdwegx8eiuidjk4gp.png

棒グラフ以外には、折れ線グラフも出せるようになっています。その場合は以下のようにgraphをlinesとします。

[[ReportInclude(11, graph:lines)]]

グラフを表示しない場合は、graphオプションを削ればOK。

[[ReportInclude(11)]]

これでSQL次第で、色々とグラフ付きレポートができるんじゃないかと思っています。
例えば、
sqliteがバックエンドの時のTracReportを書くtips

ありえるえりあ
で、チケットの統計情報を出力する高度なレポート例が公開されていますので、これをグラフ化するとか。