搜尋查詢語言是指您在 Google Issue Tracker 中搜尋問題的語法。您可以在搜尋列中輸入搜尋查詢時 使用這個語言。您也可以使用搜尋建構工具以圖像方式選取條件,系統會在搜尋建構工具關閉時,將該條件轉換為查詢語言。
查詢語言可讓您依下列條件進行搜尋:
- 關鍵字
- 欄位/值組合
您執行的搜尋可以包含多個條件,包括關鍵字和欄位/值組合的組合。查詢語言語法可讓您使用邏輯運算子、括號和引號,指定與條件的關係與順序。
關鍵字搜尋
關鍵字是文字字串,可用來搜尋問題的特定欄位。這些欄位如下:
- 標題
- 註解
- 附件名稱
- 包含使用者的欄位 (例如「指派對象」或「副本」)
- 包含內部 ID 編號的欄位,例如指定包含問題的元件或熱清單
- 包含版本號碼的欄位
- 自訂欄位
關鍵字搜尋條件的例子包括 configuration properties
字串。
在搜尋中輸入此條件時,Issue Tracker 會全域搜尋所有元件中的問題,並傳回以上欄位同時含有兩個關鍵字的問題,並按照您的存取權控管權限而定。關鍵字可能位於不同欄位或相同欄位中。
Issue Tracker 將用來分隔搜尋條件的空格字元視為隱含 AND
運算子。您可以使用引號 ("
),指定要將多字詞字串視為單一關鍵字。無論您是否使用引號,Issue Tracker 中的所有搜尋都不區分大小寫。
欄位/值組合搜尋
此外,您也可以將搜尋條件指定為欄位/值組合。基本語法為 [field]:[value]
。針對文字欄位,此語法可比對指定欄位「包含」該值的問題。如為其他類型的欄位,則會比對欄位值具有「相等值」的問題。
舉例來說,title:latency
的搜尋結果會與「Title」欄位中的 latency
字詞相符。搜尋 priority:p0
會找出優先順序為 p0
的問題。
請注意,如果是時間和計數欄位,您可以使用冒號字元以外的其他關係符號。請參閱下方的關聯運算子。
使用「任一」和「無」的特殊值搜尋
你可以使用特殊值 any
和 none
查詢選填欄位。any
與任何非空值相符。none
用於比對空值。如需搜尋查詢語言支援的所有欄位標籤清單,請參閱搜尋查詢參考資料。
邏輯運算子
邏輯運算子可讓您指定多個條件,並指出這些條件之間的關係。如上所述,引號以外的空格字元會做為隱含的 AND
運算子。Issue Tracker 支援下列額外的明確邏輯運算子:
業者 | 替代符號 | 說明 | 範例 |
---|---|---|---|
AND | {空白} | 符合,問題同時符合兩項條件 | star:true AND componentid:46046 |
OR | | | 符合條件時 | type:(Bug|feature_request) |
NOT | - | 符合問題未包含條件的情況 | -assignee:jim |
"..." | 比對問題是否含有加上引號的詞組 (引號內的字詞順序相同) | comment:"We have a problem" |
|
( )。 | 將值或搜尋條件一起分組 | status:open AND (priority:(p0|p1) OR severity:(s0|s1)) |
注意事項:
AND
、OR
和NOT
必須全部使用大寫字母。無論是否在欄位名稱或欄位值前方,
NOT
運算子的意義都相同。這表示-assignee:jim
和assignee:-jim
相等。盡量使用括號,將搜尋查詢中的字詞清楚分組。根據預設,Issue Tracker 只會將
NOT
與緊接在後方的字詞建立關聯,並將OR
與包含該字詞的兩個字詞分組。例如,搜尋查詢title:(a OR b NOT c AND d)
等同於title:((a OR b) AND (NOT c) AND d)
。
虛線
破折號字元 (-
) 的意義會因搜尋查詢中的語境而不同:
Issue Tracker 會將搜尋中字詞前的破折號視為
NOT
運算子。舉例來說,搜尋條件-assignee:none
或assignee:-none
會傳回所有有指派對象的問題。Issue Tracker 會將以連字號連接的字串視為半形引號括住的字串。例如,搜尋條件
state-of-the-art
等同於"state of the art"
。Issue Tracker 會將問題欄位中的連字號視為獨立字詞,並以空格分隔。也就是說,如果問題的標題含有
state-of-the-art
這個字詞,且您執行搜尋查詢title:(of art state the)
或title:("state of the art")
,系統就會在搜尋結果中傳回該問題。
關係運算子
欄位/值搜尋條件的基本語法為 [field]:[value]
,其中冒號字元 (:
) 指定指定欄位必須等於或包含指定值,才能在搜尋結果中傳回問題。
包含時間值 (created
、modified
、resolved
、verified
和特定自訂欄位) 或計數值 (duplicatecount
、votecount
、commentcount
和 cccount
) 的欄位支援下列額外的關係運算子:
符號 | 說明 |
---|---|
< | 如果問題值在搜尋值小於/之前,即視為相符問題。 |
<= | 如果問題值小於/早於或等於搜尋值,即視為比對出問題。 |
> | 如果問題值大於/晚於搜尋值,即視為相符的問題。 |
>= | 如果問題值大於或等於搜尋值,即為比對問題。 |
搜尋時間
搜尋查詢語言會為包含時間值的比對欄位提供特殊語法。如此一來,Issue Tracker 就能依需求搜尋時間範圍或相對時間。
絕對時間格式
指定時間的格式如下:
[yyyy]-[MM]-[dd]T[HH]:[mm]:[ss]
.
在這種格式中,[yyyy]
是 4 位數的年份,[MM]
是 2 位數字的月份,[dd]
是 2 位數的月份,[HH]
是 24 小時制時鐘的 2 位數小時,[mm]
是分鐘,[ss]
是第二個。所有時間均採用世界標準時間。
您可以提供您希望搜尋在特定時間之前或之後建立的問題時,要求的確切層級。舉例來說,您可以指定 created:2014-06
,找出在 2014 年 6 月隨時建立的問題。如需更具體的資訊,您可以搜尋 created:2014-06-03T04
,找出在 2014 年 6 月 3 日 (世界標準時間) 凌晨 4 到 5 點之間建立的問題。
時間範圍
您可以使用兩個半形句號字元 (..
) 在欄位/值搜尋條件中指定時間範圍。語法為 [field]:[start time]..[end time]
。開始和結束時間都可以視需要進行調整。舉例來說,verified:2013..2015
會傳回 2013、2014 或 2015 年驗證過的所有問題。
相對時間格式
您也可以依據今天前幾天的時間來指定時間。方法是使用 [days]d
格式,其中 [days]
是您要納入搜尋結果的過去天數。舉例來說,您可以使用 modified:5d
找出過去五天內修改的問題。
使用相對時間格式時,運算子必須是冒號字元 (:
),例如 created:5d
。如要找出不在範圍內的問題,可以使用 NOT
或 -
運算子。
舉例來說,-verified:10d
會傳回過去 10 天內未驗證的問題。如要尋找已驗證,但尚未過去 10 天內的問題,可以使用 (-verified:10d) AND status:verified
。
「今天」搭配日算
您可以在時間搜尋中使用 today
權杖取代目前的日期。支援使用天數算術,例如 today+10
和 today-2
。today
權杖也可與 today-2..today+3
等時間範圍搭配使用。在已儲存的搜尋中使用 today
權杖,有助於重複使用該查詢。
例:
created:today
modified<=today-10
nearestslo:today+10
resolved:2024-02-29..today+2
customfield1002:today..today+5
注意事項:如絕對時間格式中所述,Issue Tracker 中的時間搜尋採用世界標準時間。這也適用於使用 today
的搜尋。