= チケットクエリ = #TracTicketQueries
[[TracGuideToc]]

[wiki:TracReports レポート] に加えて、 Trac は ''カスタムチケットクエリ'' があります。 ''カスタムチケットクエリ'' は、ある一定の基準を満たすチケットのリストを表示するのに使用されます。

カスタムクエリを設定・実行するために、ナビゲーションバーの ''チケットを見る'' (英語版では ''View tickets'') モジュールに切り替え、 ''カスタムクエリ'' (英語版では ''Custom Query'') のリンクを選択します。

== フィルタ == #Filters
最初にクエリのページを開くと、デフォルトのフィルタとして、現在未解決のチケットの一覧が表示されます。ログインしているならば、自分が担当者となっていて未解決のチケットが表示されます。現在のフィルタは検索条件の右側にある "-" (マイナス) のラベルのボタンをクリックすることにより削除することができます。新しいフィルタをフィルタボックスの右下にあるプルダウンリストから追加することができます。テキストボックスやオプションのプルダウンメニューのフィルタを ''or'' 条件として、いくつでも追加することができます。

フィルタボックスの下のフィールドを使用することによって、結果をフィールドごとにグループ化したり、各チケットの完全な説明を表示することができます。

一度フィルタを編集したら、 ''更新'' (英語版では ''Update'') ボタンで結果を更新することができます。

== チケットナビゲーション == #NavigatingTickets
クエリの結果の一つをクリックすると、そのチケットが表示されます。メインメニューバーの ''次のチケット'' (英語版では ''Next Ticket'') または ''前のチケット'' (英語版では ''Previous Ticket'') というリンクをクリックすることによって、クエリの結果を行き来することができます。 ''クエリに戻る'' (英語版では ''Back to Query'') というリンクをクリックすると、クエリのページに戻ります。

あなたは安全にチケットの編集をすることができ、編集を保存した後に ''次のチケット/前のチケット/クエリに戻る'' の各リンクを使用して、結果を行き来することができます。クエリに戻ったとき、 ''編集済みのチケット'' はイタリックのテキストで表示されます。チケットの 1 つが編集され、 [[html(<span style="color: grey">クエリの基準を満たさなくなった</span>)]] 場合、テキストはグレーで表示されます。最後に、 '''クエリの基準を満たす新しいチケットが登録される''' と、テキストが太字で表示されます。

クエリの結果は ''更新'' ボタンを押すごとにステータスがクリアされリフレッシュされます。

== クエリを保存する == #SavingQueries

Trac は今のところ、クエリに名前をつけて保存することも、 (訳注: レポート一覧のように) ナビゲート可能なリストを作ることもできませんが、以下に示すように Wiki のコンテンツとしてクエリへの参照を保存できます。

=== TracLinks を使用する === #UsingTracLinks

クエリを保存しておくと、後から保存したクエリを再度実行できます。保存は Wiki ページにクエリへのリンクを作成することで行います。
{{{
[query:status=new|assigned|reopened&version=1.0 1.0 での未解決のチケット]

}}}

表示内容:
  [query:status=new|assigned|reopened&version=1.0 1.0 での未解決のチケット]

ここでは、検索内容を特定するとても単純なクエリ言語が使用されています。 ([wiki:TracQuery#QueryLanguage クエリ言語] 参照)

あるいは、クエリを実行した画面の URL をコピーし、 `?` 以降の文字列 (訳注: URL のパラメータ部) を Wiki リンクに貼り付けることができます:
{{{
[query:?status=new&status=assigned&status=reopened&group=owner 担当者別着手済みチケット]

}}}

表示内容:
  [query:?status=new&status=assigned&status=reopened&group=owner 担当者別着手済みチケット]

=== `[[TicketQuery]]` マクロを使用する === #UsingtheTicketQueryMacro

!TicketQuery マクロは条件にマッチするチケットの一覧を表示します。 WikiFormatting が使用できるいずれの場所でも使用できます。

例:
{{{
[[TicketQuery(version=0.6|0.7&resolution=duplicate)]]
}}}

表示内容:
  [[TicketQuery(version=0.6|0.7&resolution=duplicate)]]

[wiki:TracQuery#UsingTracLinks query: Wiki リンク] 同様、このマクロのパラメータは [wiki:TracQuery#QueryLanguage クエリ言語] に規定されるルールに基づいたクエリ文字列で記述しなければなりません。

チケットのサマリを表示しない、よりコンパクトな表示も利用可能です:
{{{
[[TicketQuery(version=0.6|0.7&resolution=duplicate, compact)]]

}}}

表示内容:
  [[TicketQuery(version=0.6|0.7&resolution=duplicate, compact)]]

クエリにマッチした件数だけを取得したいのならば、 ``count`` パラメータを使用してください。

{{{
[[TicketQuery(version=0.6|0.7&resolution=duplicate, count)]]

}}}

表示内容:
  [[TicketQuery(version=0.6|0.7&resolution=duplicate, count)]]


=== クエリ言語 === #QueryLanguage

`query:` TracLinks と `[[TicketQuery]]` マクロは、いずれもクエリのフィルタを特定するために小さな "クエリ言語" を使用します。基本的に、フィルタはアンパサンド (`&`) で区切られます。それぞれのフィルタはチケットの各フィールドの名前、オペレータ、1つ以上の値で構成されています。値が複数ある場合はパイプ (`|`) で区切り、フィルタがいずれかの値にマッチすればいいことを意味しています。

オペレータ一覧:
|| '''=''' || フィールドの内容はいずれかの値と完全に一致する ||
|| '''~=''' || フィールドの内容は1つ以上の値を含む ||
|| '''!^=''' || フィールドの内容が値の一つで始まる ||
|| '''$=''' || フィールドの内容が値の一つで終了する ||

これらのオペレータは否定の意味があります:
|| '''!=''' || フィールドの内容がいずれの値にも一致しない ||
|| '''!~=''' || フィールドの内容がいずれの値も含んでいない ||
|| '''!!^=''' || フィールドの内容がいずれの値でも始まらない ||
|| '''!$=''' || フィールドの内容がいずれの値でも終わらない ||

----
See also: TracTickets, TracReports, TracGuide