/ FERRAMENTAS

Azure Boards - Queries - Parte III

Foto de Dries Augustyns, via Unsplash

Queries - Parte III

Nos posts anteriores, vimos uma introdução a respeito das queries. Espero que até o momento você já tenha entendido como que a visão de queries exibe as consultas e como podemos usar essa mesma tela para fazer a importação de work items.

Agora que temos uma estrutura de exemplo, com todos os tipos de work items que vamos usar no processo Agile, vou mostrar alguns exemplos de queries que podemos rodar no Azure.

Editor de queries

Ao acessar “Boards – Queries – New Query”, é possível visualizar o editor de queries:

Editor de queries

Antes de mostrar os exemplos de consultas que podemos fazer, vou explicar o que é cada parte do editor.

As três primeiras opções permitem selecionar entre a visão de resultados, do editor e dos gráficos. Dentro do editor, temos as seguintes opções:

  • Run query: opção para executar a query;
  • New: permite a criação de novas queries e novos work items;
  • Save query: opção para salvar a query;
  • Revert changes: opção para desfazer uma modificação feita na query;
  • Column options: opção para editar as colunas exibidas no resultado;
  • Save items: opção para salvar as alterações feitas nos work items exibidos no resultado;
  • Email query: exibe o resultado da query formatado em uma tabela para ser enviado por email;
  • Copy query URL: gera uma URL para compartilhar a query;
  • Export to CSV: opção para exportar o resultado da query em um arquivo CSV.

Type of query

Existem três tipos de query:

  • Flat list of work items: a consulta gera uma lista simples de work items no resultado;
  • Work items and direct links: a consulta gera uma lista de work items com todas as suas dependências diretas;
  • Tree of work items: a consulta gera uma árvore de work items, aninhados em várias camadas.

Para os exemplos deste post, vou usar a opção “Flat list of work items”.

Filters for top level work items

Seção onde ficam os filtros que vamos aplicar nas queries, onde cada um desses filtros se chama cláusula. Na primeira coluna temos a opção de adicionar ou remover uma cláusula. Na segunda coluna, podemos selecionar as cláusulas que gostaríamos de agrupar. A coluna “And/Or” permite alternar as condições E e OU da query.

Além dessas, também existem as colunas:

  • Field: campo do work item que será consultado;
  • Operator: operação que será utilizada na cláusula;
  • Value: valor que deve ser usado na operação da cláusula.

Exemplos de queries

Primeiramente vamos relembrar todos os work items que criamos no post anterior. Para isto, basta clicar em “Run query”:

Tela com o resultado da query para consultar todos os work items

A query retorna todos os work items porque ela faz a seguinte consulta:

Work Item Type = [Any] And State = [Any]

Isso significa que a query deve retornar work items de qualquer tipo e em qualquer status. Sendo assim, o resultado retorna todos os work items existentes no projeto.

Consultando somente as User Stories

Seguindo a mesma lógica, para consultar somente as User Stories, podemos alterar somente o campo “Value”, na primeira cláusula da query anterior:

Work Item Type = User Story And State = [Any]

Ao clicar em “Run query”, não serão mais retornados o Epic e as duas Features.

Consultando as User Stories com a palavra “senha” no nome

Nesta consulta, basta substituir a segunda cláusula por uma cláusula que utiliza o campo “Title” e a operação “Contains Words”:

Work Item Type = User Story And Title Contains Words senha

Consultando as User Stories que estão no meu nome

Para esta consulta, substituímos a segunda cláusula por uma cláusula que utiliza o campo “Assigned To”:

Work Item Type = User Story And Assigned To = @Me

Como nenhuma User Story foi colocada no meu nome, o retorno é vazio. O valor @Me indica uma macro de consulta.

Como existem diversas opções possíveis para o “Field” e para o “Value”, sugiro que você faça diversos exemplos de queries, com diferentes combinações. Mas a ideia principal é bem simples e acredito que esses exemplos demonstram o uso básico.

Macros de consulta

As macros são variáveis que podemos utilizar dentro das queries. No exemplo, a macro @Me indica que o usuário na consulta é o meu. Por baixo dos panos, a cláusula consultará da seguinte forma:

Work Item Type = User Story And Assigned To = Ingrid Machado

Se eu salvar essa query publicamente e outro usuário clicar em “Run Query”, o resultado exibido será com os work items que estão no nome desse outro usuário.

O uso de macro é bem interessante para queries compartilhadas e queries que serão utilizadas em dashboards. Essas são as que mais costumo usar:

  • @Me: usuário logado;
  • @Today: dia atual;
  • @CurrentIteration: Sprint atual;

Salvando queries

Ao clicar em “Save query”, é exibida a opção de salvar a query. E existem duas pastas:

  • My Queries: todas as queries nesta pasta estarão visíveis somente para o seu usuário;
  • Shared queries: todas as queries nesta pasta estarão visíveis para todos os integrantes do projeto.

Tela com as opções para salvar a query

Também é possível criar novas pastas dentro dessas duas pastas default.


Com este post, está encerrada a parte de queries. Apesar de ter muito mais para mostrar, acredito que posts muito extensos e que esgotem toda a documentação tirariam um pouco do foco.

Mas fique à vontade para tirar qualquer eventual dúvida. Como sempre, a caixa de comentários e o meu email estão disponíveis.

Até a próxima!



ingridmachado

Ingrid Machado

Engenheira de computação, especialista em engenharia de software.
Autora deste querido blog.

Mais posts