= チケットシステム = #TheTracTicketSystem
[[TracGuideToc]]

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

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

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

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

[=#edit-permissions]
しかしながら、Trac の設定において 個人が変更できる箇所に制限を加える場合があります。例えばデフォルトの設定では、認証していないユーザ("anonymous" ユーザ)に対して変更やコメントを許可しないことで、明らかなスパム行為を予防しています。ローカル貢献ポリシーを確認してください。通常はフロントページである WikiStart で見つけることが出来ます。また、使用している Trac の管理者にお問い合わせください。

== チケット属性 == #TicketFields 

チケットは、以下の情報を属性として含んでいます:
 
 * '''報告者 (Reporter)''' - チケットの作成者 
 * '''分類 (Type)''' - チケットの本質 (例えば、不具合 (defect), 機能追加 (enhancement request) など) 詳細は [trac:TicketTypes TicketTypes] 参照
 * '''コンポーネント (Component)''' - チケットが適用されるモジュールやサブシステム
 * '''バージョン (Version)''' - チケットが適用されるプロジェクトのバージョン
 * '''キーワード (Keywords)''' - チケットに付与するキーワード。検索や、レポートの生成で使用する
 * '''優先度 (Priority)''' - ''trivial'' から ''blocker'' の範囲で示されるチケットの重要度。定義した他の優先度を含めプルダウンで表示
 * '''マイルストーン (Milestone)''' -  このチケットを少なくとも、いつまでに解決しなければならないのか。マイルストーンのリストをプルダウンで表示
 * '''担当者 (Assigned to/Owner)''' - チケットの扱いに責任を持つ主たる人
 * '''関係者 (Cc)''' -チケットに関係がある人または通知メール用の E-mail アドレスのカンマ区切りのリスト。 ''これは責任もいかなるポリシも意味していないことを注記しておく'' 
 * '''解決方法 (Resolution)''' - チケットが解決された際の理由。{{{修正した(fixed)}}}、{{{無効なチケット(invalid)}}}、{{{修正しない(wontfix)}}}、{{{他のチケットと重複(duplicate)}}}、{{{再現しない(worksforme)}}}など
 * '''ステータス (Status)''' - チケットの現在の状態。 {{{new}}}, {{{assigned}}}, {{{closed}}}, {{{reopened}}} のいずれか
 * '''概要 (Summary)''' - 問題点や、チケットについての簡単な説明。タイトル。WikiFormatting の適用されない単純なテキスト
 * '''説明 (Description)''' - チケットの内容。 特定された状況について、詳しく記述され、的を絞った良い説明文を書いてください。 WikiFormatting が適用されます

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

 - [http://trac.edgewall.org/wiki/TicketTypes 分類 (type)], [http://trac.edgewall.org/wiki/TicketComponent コンポーネント (component)], バージョン (version), 優先度 (priority), 重要度 (severity) の各フィールドは [wiki:TracAdmin trac-admin] か [trac:WebAdmin WebAdmin プラグイン] を用いて管理することができます。

 - ''優先度 (Priority)'' のデフォルト値についての説明は [http://trac.edgewall.org/wiki/TicetTypes#Whyistheseverityfieldgone TicketTypes] に書かれています。

== チケットの更新や注釈 == #ChangingandCommentingTickets

すでに [#edit-permissions 上記] で説明しているように、適切な権限を持っていれば、Trac にチケットを登録し、いつでも '''注釈''' を編集することができます。

その際、変更やチケットへのコメントのような注釈は、チケットそのものの一部として記録されます。チケットの閲覧画面では、更新履歴がメイン表示領域の下部に表示されます。

コメントの編集機能 (0.12 以降から) は フォーマットの調整や誤字脱字の修正のような小さな訂正を行うために使用するものであって、大幅な編集を行うものではありません。編集が長くなるような場合は、代わりとなるコメントを新しく追加するべきです。コメントを編集した場合、新しくコメントを記入した際や何か変更を行ったときのように [/timeline] に通知されることはありません。

すべての編集(フィールドの変更、コメントの追加、コメントの編集)において、チケットの "最終更新" 時間が更新されます。


'''Notes:''' 
 - 重要な特性として、チケットの説明やコメントでは TracLinks と WikiFormatting が使用できます。 TracLinks を用いて、他の課題やチェンジセット、ファイルを関連付けて、より明確で簡単に理解できるようにチケットを作成してください。

 - チケットの変更を E メールで通知する設定方法に関しては TracNotification をご覧ください。

 - チケットの状態遷移(ライフサイクル)とワークフローのカスタマイズ方法に関する情報は、 TracWorkflow をご覧ください。

== ドロップダウン形式の属性のデフォルト値 == #DefaultValuesforDrop-DownFields

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

 * `default_component`: デフォルトで選択されているコンポーネント名
 * `default_milestone`: デフォルトのマイルストーン
 * `default_priority`: デフォルトの優先度
 * `default_severity`: デフォルトの重要度
 * `default_type`: デフォルトのチケットの分類
 * `default_version`: デフォルトのバージョン
 * `default_owner`: デフォルトの担当者。 もし "< default >" (デフォルトの値)と設定された場合、コンポーネントの担当者が使用されます

これらのオプションが設定されていない場合、デフォルト値はリストの 1 番目の項目になるか、空の値が使用されます。これは、問題となるフィールドが必須項目かどうかで異なります。これらのオプションのいくつかは、 [trac:WebAdmin WebAdmin] プラグインの "チケットシステム" セクションを通じて選択できます (その他のものは、 "trac.ini" の [wiki:TracIni#ticket-section|"[ticket]"] セクションで設定できます) 。


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

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

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


== 担当者をドロップダウンリストにする == #Assign-toasDrop-DownList

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

ドロップダウンリストに表示されるために、ユーザはプロジェクトに登録する必要があります。 ''例として'' ユーザのセッション情報がデータベースの中に存在すべきことがあげられます。セッション情報はユーザがそのプロジェクトで最初にデータベースを更新したときに自動的に生成されます。例えば、 ''ユーザ設定'' のページでユーザの詳細情報を編集したときや、認証ユーザがログインしたときなどです。また、ユーザは `TICKET_MODIFY` [TracPermissions パーミッション] が必要です。

'''Notes:''' 
 - [http://pacopablo.com/wiki/pacopablo/blog/set-assign-to-drop-down ドロップダウンリストにアサインを載せる] に、データベースのレベルで、ユーザのエントリを追加する方法が記載されています。

 - 柔軟性が必要で、自分自身でコーディングをすることをいとわないならば、 [http://trac-hacks.org/wiki/FlexibleAssignToPlugin FlexibleAssignTo] を参照してみてください。 (ネタばれ: 私が作者です)

 - このオプションを有効にするとパフォーマンスが低下する原因となるかもしれません。 [trac:TracPerformance#Configuration Trac の性能] にさらに詳しい情報があります。

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

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

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

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

例: ''`[/newticket?summary=Compile%20Error&version=1.0&component=gui]`''[[BR]]

----
See also:  TracGuide, TracWiki, TracTicketsCustomFields, TracNotification, TracReports, TracQuery
