A linguagem de consulta de pesquisa é a sintaxe usada para realizar pesquisas de problemas no Google Issue Tracker. Você pode usar o idioma nas consultas de pesquisa inseridas na barra de pesquisa. Também é possível usar o criador de pesquisas para selecionar graficamente os critérios, que são convertidos no idioma da consulta quando o criador de pesquisas é fechado.
A linguagem de consulta permite pesquisar pelos seguintes critérios:
- Palavras-chave
- Pares de campo-valor
As pesquisas que você realiza podem conter vários critérios, incluindo uma combinação de palavras-chave e pares de campo:valor. A sintaxe da linguagem de consulta permite especificar a relação e a ordem em que os critérios são considerados usando operadores lógicos, parênteses e aspas.
Pesquisas de palavras-chave
As palavras-chave são strings de texto que podem ser usadas para pesquisar em determinados campos em problemas. Estes campos são:
- Título
- Comentários
- Nomes dos anexos
- Campos que contêm usuários (por exemplo, Assignee ou CC)
- Campos que contêm um número de ID interno (por exemplo, aqueles que especificam o componente ou as listas prioritárias que contêm um problema)
- Campos que contêm números de versão
- Campos personalizados
Um exemplo de critério de pesquisa de palavra-chave é a string configuration properties
.
Quando você insere esses critérios em uma pesquisa, o Issue Tracker pesquisa globalmente os problemas
em todos os componentes e retorna aqueles cujos campos contêm as duas palavras-chave, conforme
governado pelas permissões de controle de acesso. As palavras-chave podem estar em campos diferentes ou nos mesmos campos.
As palavras-chave também correspondem a alguns sinônimos básicos. Portanto, uma pesquisa por property
pode
encontrar um bug com a palavra properties
. Caso contrário, as pesquisas só vão corresponder a tokens de palavras completos, em vez de tratar a consulta como uma substring.
A maioria dos caracteres especiais é removida das palavras-chave antes da pesquisa.
Por exemplo, uma consulta como my-query_text
seria dividida nos tokens
my
e query_text
e retornaria bugs correspondentes a ambos.
O Issue Tracker trata o caractere de espaço que separa os critérios de pesquisa como um
operador AND
implícito. É possível usar aspas ("
) para
especificar que uma string de várias palavras deve ser considerada uma única palavra-chave. Todas
as pesquisas no Issue Tracker são indiferentes a maiúsculas e minúsculas, mesmo que você use aspas
ou não.
Pesquisas de pares de campo-valor
Também é possível especificar os critérios de pesquisa como um par de campo:valor. A sintaxe de base é
[field]:[value]
. Para campos de texto, essa sintaxe corresponde a problemas em que o
campo especificado contém o valor. Para outros tipos de campos, ele corresponde
a problemas em que o valor do campo é equivalente.
Por exemplo, uma pesquisa por title:latency
corresponde a problemas com a palavra latency
no campo Título. Uma pesquisa por priority:p0
encontra problemas com uma prioridade
de p0
.
Qualquer campo não reconhecido será interpretado como uma pesquisa de palavra-chave.
Para campos de tempo e contagem, é possível usar outros símbolos relacionais além do caractere dois-pontos. Consulte Operadores relacionais.
Pesquisas de valores especiais usando "any" e "none"
Os campos opcionais podem ser consultados com os valores especiais any
e none
. any
corresponde a qualquer valor não nulo. none
corresponde a valores nulos. Para uma lista de todos os rótulos de campo aceitos na linguagem de consulta de pesquisa, consulte a Referência de consulta de pesquisa.
Operadores lógicos
Os operadores lógicos permitem especificar mais de um critério e indicar
a relação entre eles. Os caracteres de espaço fora das aspas funcionam
como operadores AND
implícitos. O Issue Tracker oferece suporte aos seguintes operadores lógicos explícitos:
Operador | Símbolo alternativo | Descrição | Exemplo |
---|---|---|---|
E | {whitespace} | Faz correspondência se o problema tiver ambos os critérios | star:true AND componentid:46046
|
OU | | | Faz correspondência se o problema contiver um dos critérios. | type:(Bug|feature_request)
|
NOT | - | Faz correspondência se o problema não contiver os critérios | -assignee:jim
|
"..." | Corresponde se o problema tiver uma frase entre aspas (as palavras na citação aparecem na mesma ordem) | comment:"We have a problem"
|
|
( ) | Agrupe valores ou critérios de pesquisa juntos. | status:open AND
(priority:(p0|p1) OR
severity:(s0|s1))
|
Observe o seguinte:
Use letras maiúsculas para
AND
,OR
eNOT
.O operador
NOT
tem o mesmo significado, seja precedendo o nome do campo ou o valor do campo. Isso significa que-assignee:jim
eassignee:-jim
são equivalentes.Use parênteses para agrupar os termos na consulta de pesquisa. Por padrão, o Issue Tracker associa
NOT
apenas ao termo imediatamente seguinte e agrupaOR
com os dois termos que o contêm. Por exemplo, a consulta de pesquisatitle:(a OR b NOT c AND d)
é equivalente atitle:((a OR b) AND (NOT c) AND d)
.
Traços
O caractere traço (-
) tem significados diferentes com base no contexto de uma consulta
de pesquisa:
O Issue Tracker trata o traço antes de uma palavra em uma pesquisa como um operador
NOT
. Por exemplo, os critérios de pesquisa-assignee:none
ouassignee:-none
retornam todos os problemas que têm um usuário atribuído.O Issue Tracker trata as strings conectadas por um caractere de traço como sendo incluídas entre aspas. Por exemplo, o critério de pesquisa
state-of-the-art
é equivalente a"state of the art"
.O Issue Tracker trata palavras com hífen em um campo de problema como palavras independentes separadas por espaços em branco. Isso significa que, se um problema tiver a palavra
state-of-the-art
no título e você executar a consulta de pesquisatitle:(of art state the)
outitle:("state of the art")
, o problema será retornado como parte dos resultados da pesquisa.
Operadores relacionais
A sintaxe básica para um campo:critérios de pesquisa de valor é [field]:[value]
, em que
o caractere dois-pontos (:
) especifica que o campo fornecido precisa ser igual ou
conter o valor especificado para que um problema seja retornado nos resultados
da pesquisa.
Os campos que contêm um valor de tempo (created
, modified
, resolved
, verified
e alguns campos personalizados) ou um valor de contagem (duplicatecount
, votecount
,
commentcount
e cccount
) aceitam os seguintes operadores relacionais:
Símbolo | Descrição |
---|---|
< | Faz correspondência com um problema se o valor dele for menor ou anterior ao valor da pesquisa. |
<= | Faz a correspondência de um problema se o valor dele for menor que, anterior ou igual ao valor da pesquisa. |
> | Faz correspondência com um problema se o valor dele for maior ou posterior ao valor da pesquisa. |
>= | Faz correspondência a um problema se o valor dele for maior que, depois ou igual ao valor da pesquisa. |
Pesquisas de tempo
A linguagem de consulta de pesquisa fornece uma sintaxe especial para campos correspondentes que contêm um valor de tempo. Isso permite que o Issue Tracker pesquise em um intervalo de horários ou horários relativos, conforme necessário.
Formato de hora absoluta
O formato para especificar um horário é:
[yyyy]-[MM]-[dd]T[HH]:[mm]:[ss]
.
Nesse formato, [yyyy]
é o ano de quatro dígitos, [MM]
é o mês de dois dígitos,
[dd]
é o dia de dois dígitos, [HH]
é a hora de dois dígitos de um relógio de 24 horas, [mm]
é o minuto e [ss]
é o segundo. Todos os horários nas pesquisas são interpretados
como UTC, mesmo que você tenha um fuso horário diferente selecionado nas
configurações de data e hora.
Você pode especificar o nível de especificidade ao pesquisar problemas criados em,
antes ou depois de um determinado horário. Por exemplo, você pode especificar created:2014-06
para encontrar problemas criados em qualquer momento em junho de 2014. Para mais detalhes,
pesquise created:2014-06-03T04
para encontrar problemas criados em 3 de junho
de 2014 às 4 horas (entre 4h e 5h, UTC).
Períodos
É possível usar dois caracteres de ponto (..
) para especificar um período em critérios de pesquisa field:value. A sintaxe é [field]:[start time]..[end time]
. Os horários de início e
término podem ter qualquer grau de especificidade que você precisar. Por exemplo,
verified:2013..2015
retorna todos os problemas verificados em 2013, 2014 ou 2015.
Formato de tempo relativo
Também é possível especificar um horário em dias anteriores a hoje. Para fazer isso, use o
formato [days]d
, em que [days]
é o número de dias no passado que você quer
incluir nos resultados da pesquisa. Por exemplo, você pode usar modified:5d
para encontrar
problemas modificados nos últimos cinco dias.
Ao usar um formato de tempo relativo, o operador precisa ser o caractere dois-pontos
(:
), como created:5d
. Se você quiser encontrar problemas que não se enquadram no
intervalo, use o operador NOT
ou -
.
Por exemplo, -verified:10d
retorna problemas que não foram verificados nos
últimos 10 dias. Se você quiser encontrar problemas que foram verificados, mas não nos
últimos 10 dias, use (-verified:10d) AND status:verified
.
Pesquisas "Hoje" com aritmética de dia
É possível usar o token today
em pesquisas de tempo como substituto da data
atual. Ele oferece suporte ao uso da aritmética de dia, como today+10
e today-2
. O
token today
também pode ser usado com intervalos de tempo, como today-2..today+3
.
O uso do token today
em pesquisas salvas ajuda a tornar a consulta reutilizável.
Exemplos:
created:today
modified<=today-10
nearestslo:today+10
resolved:2024-02-29..today+2
customfield1002:today..today+5
Observação: conforme mencionado no formato de hora absoluta, as pesquisas
de tempo no Issue Tracker são em UTC. O mesmo se aplica a pesquisas que usam
today
.