Язык поисковых запросов — это синтаксис, который вы используете для поиска проблем в Google Issue Tracker. Вы можете использовать язык в поисковых запросах, которые вводите в строку поиска. Вы также можете использовать построитель поиска для графического выбора критериев, которые затем преобразуются в язык запросов при закрытии построителя поиска.
Язык запросов позволяет осуществлять поиск по следующим критериям:
- Ключевые слова
- Пары поле/значение
Выполняемые вами поисковые запросы могут содержать несколько критериев, включая комбинацию ключевых слов и пар поле/значение. Синтаксис языка запросов позволяет указать связь и порядок рассмотрения критериев с помощью логических операторов , круглых скобок и кавычек.
Поиск по ключевым словам
Ключевые слова — это текстовые строки, которые вы можете использовать для поиска по определенным полям в задачах. Эти поля:
- Заголовок
- Комментарии
- Названия вложений
- Поля, содержащие пользователей (например, Правопреемник или CC ).
- Поля, содержащие внутренний идентификационный номер (например, те, которые указывают компонент или горячие списки, содержащие проблему)
- Поля, содержащие номера версий
- Настраиваемые поля
Примером критериев поиска по ключевым словам являются configuration properties
строки. Когда вы вводите этот критерий в поиск, Issue Tracker глобально ищет проблемы во всех компонентах и возвращает те, чьи поля выше содержат оба ключевых слова, в соответствии с вашими разрешениями на управление доступом. Ключевые слова могут находиться в разных полях или в одних и тех же полях.
Issue Tracker рассматривает пробел, разделяющий критерии поиска, как неявный оператор AND
. Вы можете использовать кавычки ( "
), чтобы указать, что строка, состоящая из нескольких слов, должна рассматриваться как одно ключевое слово. Все поисковые запросы в Issue Tracker не учитывают регистр, независимо от того, используете ли вы кавычки или нет.
Поиск пар поле/значение
Вы также можете указать критерии поиска в виде пары поле/значение. Базовый синтаксис: [field]:[value]
. Для текстовых полей этот синтаксис соответствует проблемам, когда указанное поле содержит значение. Для других типов полей он соответствует проблемам, в которых значение поля эквивалентно .
Например, поиск по запросу title:latency
соответствует проблемам со словом latency
в поле Title . Поиск priority:p0
находит проблемы с приоритетом p0
.
Обратите внимание, что для полей времени и количества помимо символа двоеточия можно использовать и другие реляционные символы. См. раздел «Операторы отношения» ниже.
Поиск специальных значений с использованием Any и None
Необязательные поля могут быть запрошены со специальными значениями any
и none
. any
соответствует любому значению, отличному от NULL. none
не соответствует нулевым значениям. Список всех поддерживаемых меток полей на языке поисковых запросов см. в Справочнике по поисковым запросам .
Логические операторы
Логические операторы позволяют указать более одного критерия и указать связь между ними. Как отмечалось выше, символы пробела вне кавычек действуют как неявные операторы AND
Issue Tracker поддерживает следующие дополнительные явные логические операторы:
Оператор | Альтернативный символ | Описание | Пример |
---|---|---|---|
И | {пробел} | Соответствует, если задача содержит оба критерия | star:true AND componentid:46046 |
ИЛИ | | | Соответствует, если задача содержит любой критерий | type:(Bug|feature_request) |
НЕТ | - | Соответствует, если задача не содержит критериев | -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
возвращают все задачи, у которых есть правопреемник.Система отслеживания проблем рассматривает строки, соединенные тире, как заключенные в кавычки. Например, критерий поиска
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
), поддерживают следующие дополнительные операторы отношений:
Символ | Описание |
---|---|
< | Соответствует проблеме, если ее значение меньше или меньше вашего значения поиска. |
<= | Соответствует проблеме, если ее значение меньше/раньше или равно значению вашего поиска. |
> | Соответствует проблеме, если ее значение больше или после вашего значения поиска. |
>= | Соответствует проблеме, если ее значение больше/после или равно значению вашего поиска. |
Поиск по времени
Язык поисковых запросов предоставляет специальный синтаксис для сопоставления полей, содержащих значение времени. Это позволяет системе отслеживания проблем выполнять поиск в определенном диапазоне времени или относительном времени по мере необходимости.
Абсолютный формат времени
Формат указания времени:
[yyyy]-[MM]-[dd]T[HH]:[mm]:[ss]
.
В этом формате [yyyy]
— год из 4 цифр, [MM]
— месяц из 2 цифр, [dd]
— день из 2 цифр, [HH]
— час из 2 цифр в 24-часовом формате, [mm]
— минуты, а [ss]
— секунды. Все время указано в формате UTC.
Вы можете указать желаемый уровень детализации при поиске задач, созданных в определенное время, до или после него. Например, вы можете указать « created:2014-06-03T04
created:2014-06
», чтобы найти задачи, созданные в любое время в июне 2014 г. 4-й час (между 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 осуществляется в формате UTC. То же самое относится и к поискам, которые используются today
.