Tracの優先度をカスタマイズする場合に気をつけること
Tracの優先度をカスタマイズする際にハマったのでメモです。
Tracではチケットに優先度という属性があります。
デフォルトでは優先度が高い順番に
- blocker
- critical
- major
- minor
- trival
となっていますが、管理ツールを使用してこれを変更することが出来ます。
ところが以下の通りにやってみたら、レポートを表示させた時に優先度による色分けが機能しなくなってしまいました。
[root@hogehoge ~]# trac-admin /opt/trac/projects/projects/test/ priority add 今すぐやる
[root@hogehoge ~]# trac-admin /opt/trac/projects/projects/test/ priority add 急いでやる
[root@hogehoge ~]# trac-admin /opt/trac/projects/projects/test/ priority add 普通
[root@hogehoge ~]# trac-admin /opt/trac/projects/projects/test/ priority add あとでもいい
[root@hogehoge ~]# trac-admin /opt/trac/projects/projects/test/ priority add どうでもいい
[root@hogehoge ~]# trac-admin /opt/trac/projects/projects/test/ priority remove blocker
[root@hogehoge ~]# trac-admin /opt/trac/projects/projects/test/ priority remove critical
[root@hogehoge ~]# trac-admin /opt/trac/projects/projects/test/ priority remove major
[root@hogehoge ~]# trac-admin /opt/trac/projects/projects/test/ priority remove minor
[root@hogehoge ~]# trac-admin /opt/trac/projects/projects/test/ priority remove trivial
↓こんなかんじです。

DBの中身を見てみます。
[root@hogehoge ~]# sqlite3 /opt/trac/projects/projects/test/db/trac.db
type|name|value
sqlite> select * from enum;
status|new|1
status|assigned|2
status|reopened|3
status|closed|4
resolution|fixed|1
resolution|invalid|2
resolution|wontfix|3
resolution|duplicate|4
resolution|worksforme|5
ticket_type|バグw|1
ticket_type|アイデア|2
ticket_type|タスク|3
ticket_type|質問|4
priority|今すぐやる|6
priority|急いでやる|7
priority|普通|8
priority|あとでもいい|9
priority|どうでもいい|10
priorityのvalueの値が、6,7,8,9,10になっています。
TracReportのマニュアルを眺めると、こんな記述が。
- __color__ — Should be a numeric value ranging from 1 to 5 to select a pre-defined row color. Typically used to color rows by issue priority.
色分けするには、valueを1〜5の範囲にしなさいと。これが原因でした。
この状況からの復帰は、DBの値を直接書き換えるしかありませんでした。
sqlite> update enum set value=1 where name = '今すぐやる';
sqlite> update enum set value=2 where name = '急いでやる';
sqlite> update enum set value=3 where name = '普通';
sqlite> update enum set value=4 where name = 'あとでもいい';
sqlite> update enum set value=5 where name = 'どうでもいい';
というわけで、優先度をカスタマイズする場合には、
[root@hogehoge ~]# trac-admin /opt/trac/projects/projects/test/ priority change blocker 今すぐやる
といった具合にしないといけないのですな。




2008年4月11日(金曜日) at 14時32分
[…] massat.jp - Tracの優先度をカスタマイズする場合に気をつけること […]