搜尋查詢語言

搜尋查詢語言是指您在 Google Issue Tracker 中搜尋問題的語法。您可以在搜尋列中輸入搜尋查詢時 使用這個語言。您也可以使用搜尋建構工具以圖像方式選取條件,系統會在搜尋建構工具關閉時,將該條件轉換為查詢語言。

查詢語言可讓您依下列條件進行搜尋:

  • 關鍵字
  • 欄位/值組合

您執行的搜尋可以包含多個條件,包括關鍵字和欄位/值組合的組合。查詢語言語法可讓您使用邏輯運算子、括號和引號,指定與條件的關係與順序。

關鍵字搜尋

關鍵字是文字字串,可用來搜尋問題的特定欄位。這些欄位如下:

  • 標題
  • 註解
  • 附件名稱
  • 包含使用者的欄位 (例如「指派對象」或「副本」)
  • 包含內部 ID 編號的欄位,例如指定包含問題的元件或熱清單
  • 包含版本號碼的欄位
  • 自訂欄位

關鍵字搜尋條件的例子包括 configuration properties 字串。 在搜尋中輸入此條件時,Issue Tracker 會全域搜尋所有元件中的問題,並傳回以上欄位同時含有兩個關鍵字的問題,並按照您的存取權控管權限而定。關鍵字可能位於不同欄位或相同欄位中。

Issue Tracker 將用來分隔搜尋條件的空格字元視為隱含 AND 運算子。您可以使用引號 ("),指定要將多字詞字串視為單一關鍵字。無論您是否使用引號,Issue Tracker 中的所有搜尋都不區分大小寫。

欄位/值組合搜尋

此外,您也可以將搜尋條件指定為欄位/值組合。基本語法為 [field]:[value]。針對文字欄位,此語法可比對指定欄位「包含」該值的問題。如為其他類型的欄位,則會比對欄位值具有「相等值」的問題。

舉例來說,title:latency 的搜尋結果會與「Title」欄位中的 latency 字詞相符。搜尋 priority:p0 會找出優先順序為 p0 的問題。

請注意,如果是時間和計數欄位,您可以使用冒號字元以外的其他關係符號。請參閱下方的關聯運算子

使用「任一」和「無」的特殊值搜尋

你可以使用特殊值 anynone 查詢選填欄位。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))

注意事項:

  • ANDORNOT 必須全部使用大寫字母。

  • 無論是否在欄位名稱或欄位值前方,NOT 運算子的意義都相同。這表示 -assignee:jimassignee:-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:noneassignee:-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],其中冒號字元 (:) 指定指定欄位必須等於或包含指定值,才能在搜尋結果中傳回問題。

包含時間值 (createdmodifiedresolvedverified 和特定自訂欄位) 或計數值 (duplicatecountvotecountcommentcountcccount) 的欄位支援下列額外的關係運算子:

符號 說明
< 如果問題值在搜尋值小於/之前,即視為相符問題。
<= 如果問題值小於/早於或等於搜尋值,即視為比對出問題。
> 如果問題值大於/晚於搜尋值,即視為相符的問題。
>= 如果問題值大於或等於搜尋值,即為比對問題。

搜尋時間

搜尋查詢語言會為包含時間值的比對欄位提供特殊語法。如此一來,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+10today-2today 權杖也可與 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 的搜尋。