以前Tracのテーブル定義を紹介しましたが、これを調べた理由は、まだ完了していないマイルストーンに含まれる解決済みを含む全てのチケットを表示するレポートが欲しかったから。
特に難しい事は何もないのでSQLさえ書ければ、他のレポートのQueryを参考に誰でもできるでしょうが、せっかくなので公開しておきます。
SELECT p.value AS __color__,
t.milestone AS __group__,
(CASE status
WHEN 'closed' THEN 'color: #777; background: #ddd; border-color: #ccc;'
ELSE
(CASE owner WHEN '$USER' THEN 'font-weight: bold' END)
END) AS __style__,
id AS ticket, summary, component, status,
resolution,version, t.type AS type, priority, owner,
changetime AS modified,
time AS _time,reporter AS _reporter
FROM ticket t
LEFT JOIN enum p ON p.name = t.priority AND p.type = 'priority'
INNER JOIN milestone m ON m.name = t.milestone
WHERE m.completed = 0
ORDER BY (milestone IS NULL), milestone, (status = 'closed'),
(CASE status WHEN 'closed' THEN modified ELSE (-1)*p.value END) DESC
新しいレポートの追加のしかたは「チケットを見る」で「レポート一覧」に行き、「レポートの登録」をクリックし、「レポート名」「レポートについての説明」を適当に入力し、「レポートのSQL」に上記SQLを貼付けて「保存」します。
これで「レポート一覧」ページに新しいレポート種類が追加されたはずです。