Linguagem da consulta de pesquisa

A linguagem de consulta de pesquisa é a sintaxe usada para realizar pesquisas de problemas no Google Issue Tracker. É possível 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 na linguagem de consulta quando o criador é fechado.

A linguagem de consulta permite pesquisar pelos seguintes critérios:

  • Palavras-chave
  • Pares de campo/valor

As pesquisas realizadas 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

Palavras-chave são strings de texto que podem ser usadas para pesquisar determinados campos em problemas. Esses campos são:

  • Título
  • Comentários
  • Nomes dos anexos
  • Campos com usuários (por exemplo, Responsável ou CC)
  • Campos que contêm um número de ID interno (por exemplo, aqueles que especificam o componente ou as hotlists que contêm um problema)
  • Campos que contêm números de versão
  • Campos personalizados

Um exemplo de critério de pesquisa por palavra-chave é a string configuration properties. Quando você insere esses critérios em uma pesquisa, o Issue Tracker busca globalmente os problemas em todos os componentes e retorna aqueles com os campos acima que contêm as duas palavras-chave, conforme regido pelas permissões de controle de acesso. As palavras-chave podem estar em campos diferentes ou nos mesmos campos.

O Issue Tracker trata o caractere de espaço que separa os critérios de pesquisa como um operador AND implícito. Você pode usar aspas (") para especificar que uma string de várias palavras deve ser considerada como uma única palavra-chave. Todas as pesquisas no Issue Tracker não diferenciam maiúsculas de minúsculas, usando ou não aspas.

Pesquisas de pares de campo/valor

Você também pode especificar critérios de pesquisa como um par de campo/valor. A sintaxe base é [field]:[value]. Nos campos de texto, essa sintaxe corresponde aos problemas em que o campo especificado contém o valor. Para outros tipos de campo, 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 Title. Uma pesquisa por priority:p0 encontra problemas com a prioridade p0.

Para campos de tempo e contagem, é possível usar outros símbolos relacionais além do caractere de dois-pontos. Consulte Operadores relacionais abaixo.

Pesquisas de valor especial usando qualquer um e nenhum

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 conferir uma lista de todos os rótulos de campo compatíveis 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. Conforme mencionado acima, os caracteres de espaço fora das aspas atuam como operadores AND implícitos. O Issue Tracker é compatível com os seguintes operadores lógicos explícitos extras:

Operador Símbolo alternativo Descrição Exemplo
E {whitespace} Corresponde se o problema contém os dois critérios star:true AND componentid:46046
OR | Corresponde se o problema contém um dos critérios type:(Bug|feature_request)
NOT - Correspondência se o problema não contiver os critérios -assignee:jim
"..." Corresponde se o problema contém uma frase entre aspas (as palavras na 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 todas as letras maiúsculas para AND, OR e NOT.

  • O operador NOT tem o mesmo significado, seja antes do nome ou do valor do campo. Isso significa que -assignee:jim e assignee:-jim são equivalentes.

  • Usar parênteses livremente para agrupar termos de forma clara na consulta de pesquisa. Por padrão, o Issue Tracker associa NOT ao termo imediatamente posterior e agrupa OR aos dois termos que o agrupam. 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 de traço (-) tem significados diferentes com base no contexto em uma consulta de pesquisa:

  • O Issue Tracker trata o traço que precede uma palavra em uma pesquisa como um operador NOT. Por exemplo, os critérios de pesquisa -assignee:none ou assignee:-none retornam todos os problemas com um responsável.

  • O Issue Tracker trata strings conectadas por um traço como se estivessem entre aspas. Por exemplo, os critérios de pesquisa state-of-the-art são equivalentes a "state of the art".

  • O Issue Tracker trata palavras com hífen em um campo de problemas como palavras independentes separadas por espaço em branco. Isso significa que, se um problema tiver a palavra state-of-the-art no 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 base para um critério de pesquisa de campo/valor é [field]:[value], em que o caractere de dois-pontos (:) especifica que o campo especificado 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 determinados campos personalizados) ou um valor de contagem (duplicatecount, votecount, commentcount e cccount) oferecem suporte aos seguintes operadores relacionais extras:

Símbolo Descrição
< Corresponde a um problema se o valor dele é menor que/anterior ao valor da pesquisa.
<= Corresponde a um problema se o valor dele é menor que/antes ou igual ao valor da pesquisa.
> Corresponde a um problema se o valor dele é maior que/depois do valor da pesquisa.
>= Corresponde a um problema se o valor dele é 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 tempos ou momentos relativos, conforme necessário.

Formato de hora absoluto

O formato para especificar um horário é:

[yyyy]-[MM]-[dd]T[HH]:[mm]:[ss].

Nesse formato, [yyyy] é o ano com quatro dígitos, [MM] é o mês com dois dígitos, [dd] é o dia com 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 estão em UTC.

É possível fornecer o nível de especificidade que você quer ao pesquisar problemas criados em, antes ou depois de um determinado período. Por exemplo, é possível especificar created:2014-06 para encontrar problemas criados a qualquer momento em junho de 2014. Para mais detalhes, pesquise created:2014-06-03T04 para encontrar problemas criados em 3 de junho de 2014 na quarta hora (entre 4h e 5h, UTC).

Períodos

Você pode usar dois caracteres de ponto (..) para especificar um intervalo de tempo nos critérios de pesquisa de campo/valor. 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

Você também pode especificar um horário em termos de dias antes de hoje. Para fazer isso, use o formato [days]d, em que [days] é o número de dias passados que você quer incluir nos resultados da pesquisa. Por exemplo, é possível usar modified:5d para encontrar problemas modificados nos últimos cinco dias.

Ao usar um formato de hora relativo, o operador precisa ser o caractere de 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 de "Hoje" com aritmética do dia

É possível usar o token today nas pesquisas de tempo como um substituto para a data atual. Ela é compatível com o uso de aritmética de dias, como today+10 e today-2. O token today também pode ser usado com períodos como today-2..today+3. Usar o 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

Atenção: conforme mencionado no formato de tempo absoluto, as pesquisas por horário no Issue Tracker estão em UTC. O mesmo se aplica a pesquisas que usam today.