Partilhar via


Listar itens de trabalho vinculados, consultas de exemplo e relatórios

Serviços de DevOps do Azure | Azure DevOps Server | Azure DevOps Server 2022

Este artigo mostra como criar um relatório que lista itens de trabalho vinculados a outros itens de trabalho. Por exemplo, o relatório a seguir mostra uma lista de Recursos vinculados a Histórias de Usuário com o tipo de link pai-filho.

Captura de ecrã do relatório com a tabela de links pai-filho das Funcionalidades e Histórias de Utilizador.

Para obter mais informações sobre tipos de link e itens de trabalho vinculados, consulte Vincular histórias de usuários, problemas, bugs e outros itens de trabalho.

Outras consultas de exemplo incluem listar bugs com um link Duplicar para outro bug e listar bugs que não contêm um link Duplicar para outro bug.

Nota

Este artigo pressupõe que leu o Visão geral de relatórios de exemplo utilizando consultas OData e tenha uma compreensão básica do Power BI.

Categoria Requerimentos
Níveis de acesso - Membro do projeto.
- Pelo menos acesso básico .
Permissões Por padrão, os membros do projeto têm permissão para consultar o Google Analytics e criar modos de exibição. Para obter mais informações sobre outros pré-requisitos relacionados com a ativação de serviços e funcionalidades e atividades gerais de monitorização de dados, consulte Permissões e pré-requisitos para aceder ao Analytics.

Exemplos de consultas

Várias consultas são fornecidas que mostram como filtrar itens de trabalho vinculados. Todas essas consultas especificam o WorkItems conjunto de entidades porque retornam dados atuais.

Nota

Para determinar as propriedades disponíveis para fins de filtro ou relatório, consulte Referência de metadados para painéis do Azure. Você pode filtrar suas consultas ou retornar propriedades usando qualquer um dos Property valores em um EntityType ou NavigationPropertyBinding Path valores disponíveis com um EntitySet. Cada EntitySet corresponde a um EntityType. Para obter mais informações sobre o tipo de dados de cada valor, verifique os metadados fornecidos para o correspondente EntityType.

Funcionalidades de retorno e suas histórias de utilizador associadas

Copie e cole a seguinte consulta do Power BI diretamente na janela Obter Dados>Consulta em Branco. Para obter mais informações, consulte Visão geral de relatórios de exemplo usando consultas OData.


let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItems?"
        &"$filter=WorkItemType eq 'Feature' "
            &"and State ne 'Closed' and State ne 'Removed' "
            &"and startswith(Area/AreaPath,'{areapath}') " 
        &"&$select=WorkItemId,Title,WorkItemType,State,AreaSK "
        &"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath), "
                &"Links( "
                    &"$filter=LinkTypeName eq 'Child' "
                        &"and TargetWorkItem/WorkItemType eq 'User Story'; "
                    &"$select=LinkTypeName; "
                    &"$expand=TargetWorkItem($select=WorkItemType,WorkItemId,Title,State) "
                &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Cadeias de caracteres de substituição e detalhamento de consulta

Substitua as seguintes cadeias de caracteres por seus valores. Não inclua colchetes {} na sua substituição. Por exemplo, se o nome da sua organização for "Fabrikam", substitua {organization} por Fabrikam, não {Fabrikam}.

  • {organization} - Nome da sua organização
  • {project} - O nome do seu projeto de equipe, ou omitir "/{project}" completamente, para uma consulta entre projetos
  • {areapath} - O Caminho da Sua Área. Exemplo de formato: Project\Level1\Level2.

Detalhamento da consulta

A tabela a seguir descreve cada parte da consulta.

Parte da consulta

Descrição

$filter=WorkItemType eq 'Feature'

Devolver Histórias de Utilizador.

and State ne 'Closed' and State ne 'Removed'

Omitir Recursos cujo Estado está definido como Fechado ou Removido.

and startswith(Area/AreaPath,'{areapath}')

Inclua apenas Recursos numa Área de Caminho específica substituindo .
Para filtrar por um nome de equipa, use a instrução de filtro Teams/any(x:x/TeamName eq '{teamname})'.

&$select=WorkItemId,Title,WorkItemType,State,AreaSK

Selecione os campos a serem retornados.

&$expand=AssignedTo($select=UserName), Iteration($select=IterationPath), Area($select=AreaPath),

Especifique os campos a serem usados para expandir AssignedTo, Iteratione Area entidades.

Links(

Expanda a Links entidade.

$filter=LinkTypeName eq 'Child'

Filtre os itens de trabalho associados apenas àqueles com o tipo de ligação Filho. Outros exemplos são Parent, Child, Duplicate, Duplicate Of, Affects, Affected By.

and TargetWorkItem/WorkItemType eq 'User Story';

Inclua apenas Histórias de Usuário vinculadas.

$select=LinkTypeName;

Selecione a LinkTypeName propriedade a ser retornada.

$expand=TargetWorkItem($select=WorkItemType, WorkItemId, Title, State)

Selecione as propriedades do item de trabalho vinculado a ser retornado.

)

Feche a Links() cláusula.

Copie e cole a seguinte consulta do Power BI diretamente na janela Obter Dados>Consulta em Branco. Para obter mais informações, consulte Visão geral de relatórios de exemplo usando consultas OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItems?"
        &"$filter=WorkItemType eq 'User Story' "
            &"and State ne 'Closed' "
            &"and startswith(Area/AreaPath,'{areapath}') "
        &"&$select=WorkItemId,Title,WorkItemType,State,AreaSK "
        &"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath), "
                &"Links( "
                    &"$filter=LinkTypeName eq 'Related' "
                        &"and TargetWorkItem/WorkItemType eq 'User Story'; "
                    &"$select=LinkTypeName; "
                    &"$expand=TargetWorkItem($select=WorkItemType,WorkItemId,Title,State) "
                &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Retornar as Histórias de Usuário vinculadas, filtradas por equipas através do Microsoft Teams

A consulta a seguir é a mesma usada anteriormente neste artigo, exceto que filtra por Nome da Equipe em vez de Caminho de Área.

Copie e cole a seguinte consulta do Power BI diretamente na janela Obter Dados>Consulta em Branco. Para obter mais informações, consulte Visão geral de relatórios de exemplo usando consultas OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItems?"
        &"$filter=WorkItemType eq 'User Story' "
            &"and State ne 'Closed' "
            &"and (Teams/any(x:x/TeamName eq '{teamname}) or Teams/any(x:x/TeamName eq '{teamname}) or Teams/any(x:x/TeamName eq '{teamname}) "
        &"&$select=WorkItemId,Title,WorkItemType,State,Priority,Severity,TagNames,AreaSK "
        &"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath), "
                &"Links( "
                    &"$filter=LinkTypeName eq 'Related' "
                        &"and TargetWorkItem/WorkItemType eq 'User Story'; "
                    &"$select=LinkTypeName; "
                    &"$expand=TargetWorkItem($select=WorkItemType,WorkItemId,Title,State) "
                &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Copie e cole a seguinte consulta do Power BI diretamente na janela Obter Dados>Consulta em Branco. Para obter mais informações, consulte Visão geral de relatórios de exemplo usando consultas OData.

let
    Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItems?"
        &"$filter=WorkItemType eq 'Bug' "
            &"and State ne 'Closed' "
            &"and startswith(Area/AreaPath,'{areapath}') "
            &"and Links/any(x:x/LinkTypeName eq 'Duplicate' and x/TargetWorkItem/WorkItemType eq 'Bug') "
        &"&$select=WorkItemId,Title,WorkItemType,State,Priority,Severity,TagNames "
        &"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath), "
            &"Links( "
                &"$filter=LinkTypeName eq 'Duplicate' "
                &"and TargetWorkItem/WorkItemType eq 'Bug'; "
                    &"$select=LinkTypeName; "
                &"$expand=TargetWorkItem($select=WorkItemType,WorkItemId,Title,State) "
            &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Copie e cole a seguinte consulta do Power BI diretamente na janela Obter Dados>Consulta em Branco. Para obter mais informações, consulte Visão geral de relatórios de exemplo usando consultas OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItems?"
        &"$filter=WorkItemType eq 'Bug' "
                &"and State ne 'Closed' "
                &"and startswith(Area/AreaPath,'{areapath}') "
                &"and not (Links/any(x:x/LinkTypeName eq 'Duplicate' and x/TargetWorkItem/WorkItemType eq 'Bug')) "
        &"&$select=WorkItemId,Title,WorkItemType,State,Priority,Severity,TagNames "
        &"&$expand=AssignedTo($select=UserName),Iteration($select=IterationPath),Area($select=AreaPath) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

(Opcional) Renomear consulta

Você pode renomear o rótulo de consulta padrão, Query1, para algo mais significativo. Basta inserir um novo nome no painel Configurações de consulta.

Captura de ecrã das opções do menu de consulta do Power BI, consulta de mudança de nome.

Transformar dados no Power Query Editor

Antes de criar o relatório, você precisará expandir as colunas que retornam registros contendo vários campos. Nesse caso, você desejará expandir os seguintes registros:

  • Links
  • Links.TargetWorkItem
  • Area
  • Iteration
  • AssignedTo

Para saber como expandir itens de trabalho, consulte Transformar dados do Analytics para gerar relatórios do Power BI.

(Opcional) Renomear campos

Depois de expandir as colunas, convém renomear um ou mais campos. Por exemplo, você pode renomear a coluna AreaPath para Area Path. Você pode renomeá-los no modo de exibição de tabela de dados ou posteriormente ao criar o relatório. Para saber como, consulte Renomear campos de coluna.

Neste exemplo, os seguintes campos foram renomeados:

Nome do campo original Mudar o nome
Links.TargetWorkItem.ID ID de destino
LinksLinkTypeName Tipo de Ligação
Links.TargetWorkItem.State Estado de Destino
Links.TargetWorkItem.Title Título de Destino

Feche a consulta e aplique as alterações

Depois de concluir todas as suas transformações de dados, escolha Fechar & Aplicar no menu Início para salvar a consulta e retornar à guia Relatório no Power BI.

Captura de ecrã da opção Fechar e Aplicar do Power Query Editor.

Criar um relatório de tabela para listar itens de trabalho vinculados

  1. No Power BI, escolha Relatório de tabela em Visualizações.

    Captura de ecrã das Visualizações e Seleções de Campos do Power BI para o relatório da tabela de lista de Ligações Pai-Filho.

  2. Adicione os seguintes campos na ordem indicada para Colunas:

    • ID, clique com o botão direito do mouse e selecione Não resumir
    • Estado
    • Título
    • ID de destino, clique com o botão direito do mouse e selecione Não resumir
    • Tipo de link
    • Estado-alvo
    • Título de Destino

O relatório de exemplo é exibido.

Captura de ecrã do relatório de tabela com exemplos de ligações pai-filho de funcionalidades e histórias de utilizador.