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

↓こんなかんじです。

capturedata7556053.png

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 今すぐやる

といった具合にしないといけないのですな。

1件のコメント to “Tracの優先度をカスタマイズする場合に気をつけること”

  1. island» ブログアーカイブ » Tracの優先度 さん:

    […] massat.jp - Tracの優先度をカスタマイズする場合に気をつけること […]

Leave a Reply