Changes between Version 1 and Version 2 of TracQuery
- Timestamp:
- Sep 2, 2019, 4:56:56 PM (5 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TracQuery
v1 v2 1 = チケットクエリ = #TracTicketQueries1 = Trac Ticket Queries 2 2 [[TracGuideToc]] 3 3 4 [wiki:TracReports レポート] に加えて、 Trac は ''カスタムチケットクエリ'' があります。 ''カスタムチケットクエリ'' は、ある一定の基準を満たすチケットのリストを表示するのに使用されます。 4 In addition to [TracReports reports], Trac provides ''custom ticket queries'', which display tickets meeting specified criteria. 5 5 6 カスタムクエリを設定・実行するために、ナビゲーションバーの ''チケットを見る'' (英語版では ''View tickets'') モジュールに切り替え、 ''カスタムクエリ'' (英語版では ''Custom Query'') のリンクを選択します。 6 To configure and execute a custom query, navigate to the ''View Tickets'' module from the navigation bar, and select the ''New Custom Query'' link. 7 7 8 == フィルタ == #Filters8 == Filters 9 9 10 最初にクエリのページを開くと、デフォルトのフィルタが適用され、自分に関連するチケットの一覧が表示されます:11 * ログインしている場合、自分が担当者 ("assigned to") になっている、オープンチケットが表示されます12 * ログインしていない場合でも、個人設定 ("Prefernces") で名前やメールアドレスを設定している場合は、自分が設定した名前やメールアドレスが、関係者 ("CC") に含まれているオープンチケットが表示されます13 * ログインしておらず、個人設定も保存していない場合、すべてのオープンチケットが表示されます10 When you first go to the query page, the default filter will display tickets relevant to you: 11 * If logged in, all open tickets assigned to you. 12 * If not logged in, but you have specified a name or email address in the preferences, all open tickets where your name or email is in the CC list. 13 * If not logged in and no name/email is defined in the preferences, then all open issues. 14 14 15 現在のフィルタは検索条件の左側にある "-" (マイナス) のラベルのボタンをクリックすることにより削除することができます。新しいフィルタは、フィルタボックスの下にあるプルダウンリストから追加することができます ('And' 条件は左側に、 'Or' 条件は右側に配置されています)。テキストボックスやオプションのプルダウンメニューのフィルタを ''or'' 条件として、いくつでも追加することができます。 15 New filters are added using the dropdown lists at the bottom corners of the filters box; 'And' conditions on the left, 'Or' conditions on the right. Filters are removed by clicking the button to the left with the minus sign on the label. 16 16 17 フィルタボックスの下のフィールドを使用することによって、結果をフィールドごとにグループ化したり、各チケットの完全な説明を表示することができます。 17 After you have edited your filters, click the ''Update'' button to refresh your results. 18 18 19 一度フィルタを編集したら、 ''更新'' (英語版では ''Update'') ボタンで結果を更新することができます。 19 Filters with either a text box or a dropdown menu of options can be added multiple times to perform an ''Or'' on the criteria. Add additional 'Or's by Clicking the 'And' Dropdown and selecting an item that you have already selected. For example, to select "Milestone is X ''Or'' Milestone is Y", Select 'Milestone', Select 'X', then click the 'And' Dropdown, select 'Milestone' a second time and select 'Y'. 20 20 21 == チケットナビゲーション == #NavigatingTickets 22 クエリの結果の一つをクリックすると、そのチケットが表示されます。メインメニューバーの ''次のチケット'' (英語版では ''Next Ticket'') または ''前のチケット'' (英語版では ''Previous Ticket'') というリンクをクリックすることによって、クエリの結果を行き来することができます。 ''クエリに戻る'' (英語版では ''Back to Query'') というリンクをクリックすると、クエリのページに戻ります。 21 For text fields such as Keywords and CC the `-` operator can be used to negate a match and double quotes (//since 1.2.1//) can be used to match a phrase. For example, a //contains// match for `word1 word2 -word3 "word4 word5"` matches tickets containing `word1` and `word2`, not `word3` and `word4 word5`. 23 22 24 あなたは安全にチケットの編集をすることができ、編集を保存した後に ''次のチケット/前のチケット/クエリに戻る'' の各リンクを使用して、結果を行き来することができます。クエリに戻ったとき、 ''編集済みのチケット'' はイタリックのテキストで表示されます。チケットの 1 つが編集され、 [[html(<span style="color: grey">クエリの基準を満たさなくなった</span>)]] 場合、テキストはグレーで表示されます。 '''クエリの基準を満たす新しいチケットが登録される''' と、テキストが太字で表示されます。 23 You can use the controls just below the filters box to group the results based on a field, or display the full description for each ticket. 25 24 26 クエリの結果は ''更新'' ボタンを押すごとにステータスがクリアされリフレッシュされます。 25 Keyboard shortcuts are available for manipulating the //checkbox// filters: 26 * Clicking on a filter row label toggles all checkboxes. 27 * Pressing the modifier key while clicking on a filter row label inverts the state of all checkboxes. 28 * Pressing the modifier key while clicking on a checkbox selects the checkbox and deselects all other checkboxes in the filter. Since 1.2.1 this also works for the //Columns// checkboxes. 27 29 28 == クエリを保存する == #SavingQueries 30 The modifier key is platform and browser dependent. On Mac the modified key is !Option/Alt or Command. On Linux the modifier key is Ctrl + Alt. Opera on Windows seems to use Ctrl + Alt, while Alt is effective for other Windows browsers. 29 31 30 Trac ではクエリをレポートモジュールからアクセスできる名前付きクエリとして保存することができます。クエリを保存するには ''更新'' (英語版では ''Update'') ボタンで表示を更新してから、画面の下の方にある ''このクエリを保存'' (英語版では ''Save query'') ボタンを押下します。 31 また、下記の方法で Wiki のコンテンツとしてクエリへの参照を保存することもできます。 32 == Navigating Tickets 32 33 33 ''Note:'' 下記の方法で使用するクエリを簡単に組み立てるには、カスタムクエリモジュールでクエリを組み立ててテストしてから、 ''このクエリを保存'' を押下します。すると、すでに組み立てられたクエリ文字列が得られるので、余計な改行文字を削除すると、そのまま使うことができます。 34 Clicking on one of the query results will take you to that ticket. You can navigate through the results by clicking the ''Next Ticket'' or ''Previous Ticket'' links just below the main menu bar, or click the ''Back to Query'' link to return to the query page. 34 35 35 ''Note:'' 保存したクエリをレポートのリストに組み込むには '''REPORT_CREATE''' 権限が必要です。この権限が与えられたユーザのみ ''このクエリを保存'' ボタンを押下することができます。レポートを作成する権限を持っていない場合は、以下の方法でクエリを保存することができます。 36 You can safely edit any of the tickets and continue to navigate through the results using the ''!Next/Previous/Back to Query'' links after saving your results. When you return to the query ''any tickets which were edited'' will be displayed with italicized text. If one of the tickets was edited such that [[html(<span style="color: grey">it no longer matches the query criteria </span>)]], the text will also be greyed. If '''a new ticket matching the query criteria has been created''', it will be shown in bold. 36 37 38 The query results can be refreshed and cleared of these status indicators by clicking the ''Update'' button again. 37 39 38 == = TracLinks を使用する === #UsingTracLinks40 == Saving Queries 39 41 40 クエリを保存しておくと、後から保存したクエリを再度実行できます。保存は Wiki ページにクエリへのリンクを作成することで行います。 42 Trac allows you to save the query as a named query accessible from the reports module. To save a query ensure that you have ''Updated'' the view and then click the ''Save query'' button displayed beneath the results. 43 You can also save references to queries in Wiki content, as described below. 44 45 '''Note:''' one way to easily build queries like the ones below is to create and test the queries using Custom Query module. Clicking ''Save query'' will display the query string for you, all you need to do is remove the extra line breaks. 46 47 '''Note:''' you must have the '''REPORT_CREATE''' permission in order to save queries to the list of default reports. The ''Save query'' button will only appear if you are logged in as a user that has been granted this permission. If your account does not have permission to create reports, you can still use the methods below to save a query. 48 49 == TracLinks to Queries 50 51 You can make a link to a query from any Wiki page using a simple [TracQuery#QueryLanguage query language] to specify the criteria. 41 52 {{{ 42 [query:status=new|assigned|reopened&version=1.0 1.0 での未解決のチケット]53 [query:status=new|assigned|reopened&version=1.0 Active tickets against 1.0] 43 54 }}} 44 55 45 表示内容:46 [query:status=new|assigned|reopened&version=1.0 1.0 での未解決のチケット]56 Which is displayed as: 57 [query:status=new|assigned|reopened&version=1.0 Active tickets against 1.0] 47 58 48 ここでは、検索内容を特定するとても単純なクエリ言語が使用されています。 ([wiki:TracQuery#QueryLanguage クエリ言語] 参照) 49 50 あるいは、クエリを実行した画面の URL をコピーし、 `?` 以降の文字列 (訳注: URL のパラメータ部) を Wiki リンクに貼り付けることができます: 59 Alternatively, you can copy the query string from the browser URL box and paste it into the Wiki link, including the leading `?` character: 51 60 {{{ 52 [query:?status=new&status=assigned&status=reopened&group=owner 担当者別着手済みチケット]61 [query:?status=new&status=assigned&status=reopened&group=owner Assigned tickets by owner] 53 62 }}} 54 63 55 表示内容:56 [query:?status=new&status=assigned&status=reopened&group=owner 担当者別着手済みチケット]64 Which is displayed as: 65 [query:?status=new&status=assigned&status=reopened&group=owner Assigned tickets by owner] 57 66 58 == = `[[TicketQuery]]` マクロを使用する === #UsingtheTicketQueryMacro67 == Query Language 59 68 60 [trac:TicketQuery TicketQuery] マクロは条件にマッチするチケットの一覧を表示します。 WikiFormatting が使用できるいずれの場所でも使用できます。 69 The `query:` TracLinks and the [TicketQuery "[[TicketQuery]]"] macro both use a mini “query language” for specifying query filters. Filters are separated by ampersands (`&`). Each filter consists of the ticket field name, an operator and one or more values. Multiple values are separated using a pipe (`|`), meaning the filter matches any of the values. To include a literal `&` or `|` in a value, escape the character with a backslash (`\`). 61 70 62 例: 63 {{{ 64 [[TicketQuery(version=0.6|0.7&resolution=duplicate)]] 65 }}} 71 The available operators are: 72 || '''`=`''' || the field content exactly matches one of the values || 73 || '''`~=`''' || the field content contains one or more of the values || 74 || '''`^=`''' || the field content starts with one of the values || 75 || '''`$=`''' || the field content ends with one of the values || 66 76 67 表示内容: 68 [[TicketQuery(version=0.6|0.7&resolution=duplicate)]] 77 All of these operators can also be negated: 78 || '''`!=`''' || the field content matches none of the values || 79 || '''`!~=`''' || the field content does not contain any of the values || 80 || '''`!^=`''' || the field content does not start with any of the values || 81 || '''`!$=`''' || the field content does not end with any of the values || 69 82 70 [wiki:TracQuery#UsingTracLinks query: Wiki リンク] 同様、このマクロのパラメータは [wiki:TracQuery#QueryLanguage クエリ言語] に規定されるルールに基づいたクエリ文字列で記述しなければなりません。単一チケットのリンクや説明文を表示させることもできます。 71 {{{ 72 [[TicketQuery(id=123)]] 73 }}} 83 Filters combining matches and negated matches can be constructed for text fields such as Keywords and CC using the //contains// (`~=`) operator. The `-` operator is used to negate a match and double quotes (//since 1.2.1//) are used for whitespace-separated words in a phrase. For example, `keywords~=word1 word2 -word3 "word4 word5"` matches tickets containing `word1` and `word2`, not `word3` and also `word4 word5`. 84 || '''`status=closed,keywords~=firefox`''' || query closed tickets that contain keyword `firefox` || 85 || '''`status=closed,keywords~=opera`''' || query closed tickets that contain keyword `opera` || 86 || '''`status=closed,keywords~=firefox opera`''' || query closed tickets that contain keywords `firefox` and `opera` || 87 || '''`status=closed,keywords~=firefox|opera`''' || query closed tickets that contain keywords `firefox` or `opera` || 88 || '''`status=closed,keywords~=firefox,or,keywords~=opera`''' || query closed tickets that contain keyword `firefox`, or (closed or unclosed) tickets that contain keyword `opera` || 89 || '''`status=closed,keywords~=firefox -opera`''' || query closed tickets that contain keyword `firefox`, but not `opera` || 90 || '''`status=closed,keywords~=opera -firefox`''' || query closed tickets that contain keyword `opera`, but no `firefox` || 74 91 75 表示内容: 76 [[TicketQuery(id=123)]] 92 The date fields `created` and `modified` and custom fields of type `time` can be constrained by using the `=` operator and specifying a value containing two dates separated by two dots (`..`). Either end of the date range can be left empty, meaning that the corresponding end of the range is open. The date parser understands a few natural date specifications like "3 weeks ago", "last month" and "now", as well as Bugzilla-style date specifications like "1d", "2w", "3m" or "4y" for 1 day, 2 weeks, 3 months and 4 years, respectively. Spaces in date specifications can be omitted to avoid having to quote the query string. 93 || '''`created=2007-01-01..2008-01-01`''' || query tickets created in 2007 || 94 || '''`created=lastmonth..thismonth`''' || query tickets created during the previous month || 95 || '''`modified=1weekago..`''' || query tickets that have been modified in the last week || 96 || '''`modified=..30daysago`''' || query tickets that have been inactive for the last 30 days || 77 97 78 チケットのサマリを表示しないよりコンパクトな表示も利用可能です: 79 {{{ 80 [[TicketQuery(version=0.6|0.7&resolution=duplicate, compact)]] 81 }}} 82 83 表示内容: 84 [[TicketQuery(version=0.6|0.7&resolution=duplicate, compact)]] 85 86 クエリにマッチした件数だけを取得したいのならば、 ``count`` パラメータを使用してください。 87 88 {{{ 89 [[TicketQuery(version=0.6|0.7&resolution=duplicate, count)]] 90 }}} 91 92 表示内容: 93 [[TicketQuery(version=0.6|0.7&resolution=duplicate, count)]] 94 95 === ''table'' 形式でカスタマイズする === #Customizingthetableformat 96 table 形式 (''format=table'') では、 ''col=<field>'' を使用することで列の表示をカスタマイズすることができます。複数のフィールドを指定したい場合、表示する順に列をパイプ (`|`) 区切りで指定します: 97 98 {{{ 99 [[TicketQuery(max=3,status=closed,order=id,desc=1,format=table,col=resolution|summary|owner|reporter)]] 100 }}} 101 102 表示内容: 103 [[TicketQuery(max=3,status=closed,order=id,desc=1,format=table,col=resolution|summary|owner|reporter)]] 104 105 ==== 全行表示 ==== #Fullrows 106 ''table'' 形式では、以下の例のように ''rows=<field>'' を使用することで、全行表示を行うことができます: 107 108 {{{ 109 [[TicketQuery(max=3,status=closed,order=id,desc=1,format=table,col=resolution|summary|owner|reporter,rows=description)]] 110 }}} 111 112 表示内容: 113 [[TicketQuery(max=3,status=closed,order=id,desc=1,format=table,col=resolution|summary|owner|reporter,rows=description)]] 114 115 116 === クエリ言語 === #QueryLanguage 117 118 `query:` TracLinks と `[[TicketQuery]]` マクロは、いずれもクエリのフィルタを特定するために小さな "クエリ言語" を使用します。基本的に、フィルタはアンパサンド (`&`) で区切られます。それぞれのフィルタはチケットの各フィールドの名前、オペレータ、1つ以上の値で構成されています。値が複数ある場合はパイプ (`|`) で区切り、フィルタがいずれかの値にマッチすればいいことを意味しています。 `&` や `|` の文字そのものを値に含めたい場合、バックスラッシュ (`\`, 環境によっては円マーク) でエスケープしてください。 119 120 オペレータ一覧: 121 || '''`=`''' || フィールドの内容はいずれかの値と完全に一致する || 122 || '''`~=`''' || フィールドの内容は1つ以上の値を含む || 123 || '''`^=`''' || フィールドの内容が値の一つで始まる || 124 || '''`$=`''' || フィールドの内容が値の一つで終了する || 125 126 これらのオペレータは否定の意味があります: 127 || '''`!=`''' || フィールドの内容がいずれの値にも一致しない || 128 || '''`!~=`''' || フィールドの内容がいずれの値も含んでいない || 129 || '''`!^=`''' || フィールドの内容がいずれの値でも始まらない || 130 || '''`!$=`''' || フィールドの内容がいずれの値でも終わらない || 131 132 日付フィールドである `登録日` (英語版では `created`) と `更新日` (英語版では `modified`) は `=` オペレータに二つの日付を、二つのドット (`..`) で区切って指定することができます。日付の範囲の片方が空の場合、空の方向には条件を指定しないことを意味します。また、日付パーサは自然言語に似た構文を解釈できます。たとえば "3 weeks ago", "last month", "now" などです。 Bugzilla スタイルの "1d", "2w", "3m", "4y" なども、それぞれ1日、2週間、3ヶ月、4年と解釈できます。クエリ文字列に指定する場合、これらの構文からは空白文字を除外して指定してください。 133 || '''`created=2007-01-01..2008-01-01`''' || 2007年に登録されたチケットへのクエリ || 134 || '''`created=lastmonth..thismonth`''' || 前月に登録されたチケットへのクエリ || 135 || '''`modified=1weekago..`''' || 1週間以内に更新されたチケットへのクエリ || 136 || '''`modified=..30daysago`''' || 30日間更新されていないチケットへのクエリ || 98 Note that `modified` is the //last modified time//, so `modified` with a date range shows ticket that were //last modified// in that date range. If a ticket was modified in the date range, but modified again after the end date, it will not be included in the results. 137 99 138 100 ---- 139 See also: TracTickets, TracReports, T racGuide101 See also: TracTickets, TracReports, TicketQuery