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 esse critério 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 um critério 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} | Corresponde se o problema tiver os dois critérios | star:true AND componentid:46046 | 
| OU | | | Faz correspondência se o problema tiver um dos critérios | type:(Bug|feature_request) | 
| NOT | - | Faz correspondência se o problema não tiver o critério | -assignee:jim | 
| "..." | Corresponde se o problema tiver uma frase entre aspas (as palavras da citação aparecem na mesma ordem) | comment:"We have a problem" | |
| ( ) | Agrupa valores ou critérios de pesquisa | status:open AND (priority:(p0|p1) OR severity:(s0|s1)) | 
Observe o seguinte:
- Use letras maiúsculas para - AND,- ORe- NOT.
- O operador - NOTtem o mesmo significado, seja precedendo o nome do campo ou o valor do campo. Isso significa que- -assignee:jime- assignee:-jimsão equivalentes.
- Use parênteses para agrupar os termos na consulta de pesquisa. Por padrão, o Issue Tracker associa - NOTapenas ao termo imediatamente seguinte e agrupa- ORcom os dois termos que o contêm. Por exemplo, a consulta de pesquisa- title:(a OR b NOT c AND d)é equivalente a- title:((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:noneou- assignee:-noneretornam 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-artno título e você executar a consulta de pesquisa- title:(of art state the)ou- title:("state of the art"), o problema será retornado como parte dos resultados da pesquisa.
Operadores relacionais
A sintaxe básica para um campo:critério de pesquisa de valor é [field]:[value], em que
o caractere de 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 oferece uma sintaxe especial para campos correspondentes que contêm um valor de tempo. Isso permite que o rastreador de problemas 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,
você pode pesquisar 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
- resolved:2024-02-29..today+2
- customfield1002:today..today+5
Observação: como 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.