Tracチケットのテンプレートを管理するTicketExtPlugin
Tracでは、要件やバグ、タスクなどといったチケットの分類を定義することができます。そのような分類を分ける場合、分類毎にチケットの内容を定義できると便利です。
例えば、Tracではカスタムフィールドを定義することが可能ですが、要件やバグの分類でそれぞれ利用するフィールドを変えたり、説明のフィールドに記述する内容を変えたりといったことです。
しかしながら、Tracではそのような指定ができません。
チケットの分類は指定できるのですが、チケットの内容は1パターンだけであり、利用しにくいところ。
そこで、Tracのプラグインを作成し、TracHacksに登録しました。
このプラグインでは、以下のことが可能です。
- チケット分類に応じて、説明フィールドにテンプレートを適用
- チケット分類に応じて、カスタムフィールドの有効/無効を設定
- WebAdminから、テンプレート定義を指定可能
今後、チケットの拡張機能をいろいろ追加していこうと考えています。
今のところ考えているのは、以下のような機能です。
- assign(担当者)、cc(関係者)といったユーザが関係する部分を、登録されているユーザから選択できるようにする。
- 一度ログインしたなど、セッション情報が存在するユーザを選択できるプラグインはあるのですが、ログインの有無に関わらず、そのTracを利用できるユーザを選択できるようにしたい。
- 上記の内容を、LDAPにも対応させる。
- LDAPのユーザを選択できるプラグインがない。
でも、思っていたよりも、Tracプラグインの作成方法に関する情報少ないですね。
Tracプラグインを作るのもPythonを利用するのも、ほぼ初めてだったのですが、他のプラグインを参考にしながら、なんとか開発することができました。