チケット管理システム

Trac のチケット管理データベースは、プロジェクトのチケットやバグについての、簡単で効果的なトラッキング機能を提供します。

Trac のプロジェクト管理機能の中枢である、チケット管理システムは、 プロジェクトのタスク管理, 機能追加のリクエスト, バグレポート, ソフトウェアサポートの課題 などに使用できます。

このサブシステムは TracWiki のように、ユーザのコントリビュートと参加をできるだけ簡単にするという目標で設計しています。バグを報告して、質問して、改良を提案するのはできるだけ簡単であるべきです。

チケットは、それを解決しなければならない人にすでにアサインされているか、あるいは解決可能な人に再アサインされます。 すべてのチケットは、いつでも、編集したり、注釈をしたり、アサインしたり、優先付けしたり、議論したりできます。

Note: チケット管理システムの有効な活用は、単なるバグレポートに留まらず、プロジェクトのアイデアとタスクのための いれもの として使うことです。

チケット属性

チケットは、以下の情報を属性として含んでいます:

  • 報告者 (Reporter) - チケットを登録した人。
  • 分類 (Type) - チケットの本質 (例えば、不具合 (defect), 機能追加 (enhancement request) など)
  • コンポーネント (Component) - チケットが適用されるモジュールやサブシステム。
  • バージョン (Version) - チケットが適用されるバージョン。
  • キーワード (Keywords) - チケットに付与するキーワード。検索や、レポートの生成で使用する。
  • 優先度 (Priority) - trivial から blocker の範囲で示されるチケットの重要性。
  • マイルストーン (Milestone) - このチケットが少なくとも、いつまでに解決されなければならないか。
  • 担当者 (Assigned to/Owner) - チケットの扱いに責任を持つ主たる人。
  • 関係者 (Cc) - チケットに関係がある人のリスト。 Note: これは責任やそのほかの方針を意味しない。

  • 解決方法 (Resolution) - チケットが解決された際の理由。修正した(fixed)無効なチケット(invalid)修正しない(wontfix)他のチケットと重複(duplicate)再現しない(worksforme)など。
  • ステータス (Status) - チケットの現在の状態。 new, assigned, closed, reopened のいずれか
  • 概要 (Summary) - 問題点や、チケットについての簡単な説明。タイトル。
  • 説明 (Description) - チケットの内容。 特定された状況について、詳しく記述され、的を絞った良い説明文を書いてください。

Note: バージョン 0.9 以前の Trac では 分類 (Type) 属性がありませんでしたが、代わりに 重要度 (Severity) 属性が提供されており、 優先度 (Priority) 属性のデフォルトの値も異なっていました。この変更を行ったのは、やや不鮮明な 優先度 (Priority)重要度 (Severity) の区別を排除し、チケットモデルを簡素化するためです。しかしながら以前のチケットモデルも利用可能です: 単に 優先度 (Priority)重要度 (Severity) のデフォルトの値を追加 / 変更し、必要なら 分類 (Type) 属性の全ての値を削除してください。これらは trac-admin コマンドで出来ます。

チケットの更新や注釈

ひとたびチケットが Trac に投入されると、あとはいつでもチケットに 注釈 することで 情報を変更することができます。つまり、チケットへの更新やコメントは、 チケットそのものの一部として記録されます。

チケットの閲覧画面では、更新履歴は、メインの表示領域の下に表示されます。

Trac 自身の開発では、チケットのコメントは問題点やタスクについてディスカッションに 使っています。これによって、設計や実装上の選択の背後にある動機の理解が簡単になり、 後で思い出しやすくなります。

Note: チケットの説明や、コメントでは、 TracLinksWikiFormatting を 使用することができます。これは重要な機能です。 TracLinks によって、 他の課題や、チェンジセット、ファイルへのリンクをチケットに設定できるので、 チケットを明確にしたり、理解しやすくしたりできます。

Note: チケットの更新を email で通知する設定をする方法は TracNotification に記述しています。

ステータスダイアグラム

http://projects.edgewall.com/trac/attachment/wiki/TracTickets/Trac%20Ticket%20State%20Chart%2020040607DF.png?format=raw

ドロップダウン形式の属性のデフォルト値

ドロップダウン形式のチケット属性では、デフォルトで選択される値を trac.ini[ticket] セクションで指定できます:

  • default_type: デフォルトのチケットの分類
  • default_component: デフォルトで選択されているコンポーネント名
  • default_version: デフォルトのバージョン
  • default_milestone: デフォルトのマイルストーン
  • default_priority: デフォルトの優先度
  • default_severity: デフォルトの重要度

これらのオプションで指定されていない属性のデフォルト値はリストの先頭の値、もしくは空白になります。どちらになるかはチケット属性が NULL 値を許容するかに依存します。

属性を非表示にする、またはカスタム属性を追加する

デフォルトで用意されているチケット属性の多くは、 trac-admin で全ての値を削除すると、チケットの Web インタフェース上で非表示にすることが出来ます。これが出来るのは 分類 (Type), 優先度 (Priority), 重要度 (Severity), コンポーネント (Component), バージョン (Version), マイルストーン (Milestone) などドロップダウン形式のチケット属性だけです。

Trac は新しいチケット属性を追加することが出来ます。詳しくは TracTicketsCustomFields を参照してください。

担当者をドロップダウンリストにする

チケットの担当者になりうる人数が限られている場合、 "担当者 (Assigned-To)" 属性をテキスト入力からドロップダウンリストに変更することが出来ます。 trac.ini[ticket] セクションの restrict_owner オプションを "true" に設定してください。この場合 Trac は、ログインした全てのユーザのリストを使用し、メールアドレスをドロップダウンリストに表示します。

Note: この機能は バージョン 0.9 では実験段階です 。全てのユーザの中から、チケットの担当者になりうる人だけを表示する方法がありません。また、既に現役でないユーザをデータベースから削除する簡単な方法がありません。

新規チケット登録時に、URLで値を設定する

値が設定されたチケット登録フォームへのリンクを作成するには、 /newticket? に続いて、 パラメータ=値 を & でつないだ形式の URL を呼び出します。

値を設定できるパラメータ:

  • reporter - 報告者の名前
  • summary - チケットの概要
  • description - チケットの完全な説明
  • component - コンポーネント
  • version - バージョン
  • severity - 重要度
  • keywords - キーワード
  • priority - 優先度
  • milestone - マイルストーン
  • owner - チケットを解決できそうな人
  • cc - チケットが更新されたときに email で通知する人のリスト。

例: /trac/newticket?summary=Compile%20Error&version=1.0&component=gui

See also: TracGuide, TracWiki, TracTicketsCustomFields, TracNotification