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 para a linguagem de consulta quando o criador é fechado.

A linguagem de consulta permite buscar 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

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

  • Título
  • Comentários
  • Nomes de anexos
  • Campos que contêm 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 cujos campos acima contêm as duas palavras-chave, conforme determinado pelas suas 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, mesmo que você não use aspas.

Pesquisas de pares de campo/valor

Também é possível especificar critérios de pesquisa como um par de campo/valor. A sintaxe base é [field]:[value]. Em campos de texto, essa sintaxe corresponde a 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 prioridade p0.

Para os 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 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 ver 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 oferece suporte aos 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
OU | Corresponde se o problema contém um dos critérios type:(Bug|feature_request)
NOT - Corresponde se o problema não contém 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 em 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 para agrupar termos de forma clara na consulta de pesquisa Por padrão, o Issue Tracker associa NOT ao termo imediatamente posterior apenas ao termo e agrupa OR aos dois termos que o colocam entre colchetes. 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 antes de 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".

  • Ele trata as 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 vai ser retornado como parte dos resultados da pesquisa.

Operadores relacionais

A sintaxe básica 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) são compatíveis com os seguintes operadores relacionais adicionais:

Símbolo Descrição
< Corresponde a um problema se o valor dele for menor que/antes do valor de 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/após o valor de pesquisa.
>= Corresponde a um problema se o valor dele é maior/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 um intervalo de tempos ou horários relativos, conforme necessário.

Formato de hora absoluto

O formato para especificar uma hora é:

[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 com 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 que foram criados a qualquer momento em junho de 2014. Para mais especificidade, pesquise created:2014-06-03T04 para encontrar problemas que foram criados em 3 de junho de 2014 na 4a 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 o 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 anteriores ao dia 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 enquadrem 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.