Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
O modelo de dados de Análise do Azure DevOps consiste em conjuntos de entidades, cujos membros (entidades) contêm propriedades que você pode filtrar, agregar e resumir. Além disso, eles contêm propriedades de navegação que relacionam entidades entre si, fornecendo acesso a outras propriedades para seleção, filtragem e agrupamento.
Observação
O serviço de Análise é habilitado automaticamente e tem suporte na produção de todos os serviços no Azure DevOps Services. A integração do Power BI e o acesso ao feed OData do serviço de Análise estão disponíveis em geral. Você é incentivado a usar o feed OData do Analytics e fornecer comentários.
Os dados disponíveis dependem da versão. A versão mais recente com suporte da API OData é v2.0e a versão de versão prévia mais recente é v4.0-preview. Para obter mais informações, confira Sobre o controle de versão da API OData.
Observação
O serviço do Analytics é instalado automaticamente e tem suporte na produção para todas as novas coleções de projetos para Azure DevOps Server 2020 e versões posteriores. A integração do Power BI e o acesso ao feed OData do serviço de Análise estão disponíveis em geral. Você é incentivado a usar o feed OData do Analytics e fornecer comentários. Se você atualizar do Azure DevOps Server 2019, poderá instalar o serviço de Análise durante a atualização.
Os dados disponíveis dependem da versão. A versão mais recente com suporte da API OData é v2.0e a versão de versão prévia mais recente é v4.0-preview. Para obter mais informações, confira Sobre o controle de versão da API OData.
Noções básicas sobre o modelo de dados do Analytics
O serviço de Análises fornece uma abordagem estruturada para acessar dados do Azure DevOps por meio de pontos de extremidade OData. Esse modelo de dados permite que você:
- Consultar dados de acompanhamento de trabalho: acessar itens de trabalho, áreas, iterações e metadados relacionados
- Analisar informações de pipeline: consultar dados de pipeline de construção e liberação
- Relatório sobre os resultados do teste: Acessar dados de execução e planejamento de teste
- Criar relatórios personalizados: criar relatórios do Power BI e outras soluções de análise
Namespaces de esquema
O modelo de dados do Analytics opera em dois namespaces de esquema:
Microsoft.VisualStudio.Services.Analytics.ModelMicrosoft.VisualStudio.Services.Analytics
Esses namespaces organizam as entidades e definem sua estrutura, garantindo padrões consistentes de acesso a dados em diferentes recursos do Azure DevOps.
Conjuntos de entidades e tipos de entidade
Os tipos de entidade são chamados de tipos estruturados com uma chave. Eles definem as propriedades nomeadas e os relacionamentos de cada entidade. A chave de um EntityType se forma a partir de um subconjunto das propriedades primitivas, como, por exemplo, WorkItemId, PipelineId, ReleasePipelineId, e outras propriedades do tipo de entidade.
Os conjuntos de entidades são coleções nomeadas de entidades. Por exemplo, WorkItems é um conjunto de entidades que contém WorkItem entidades. A chave de uma entidade identifica exclusivamente a entidade dentro de um conjunto de entidades. Se vários conjuntos de entidades usarem o mesmo tipo de entidade, a mesma combinação de valores de chave poderá aparecer em mais de um conjunto de entidades e identificar entidades diferentes, uma por conjunto de entidades em que essa combinação de chaves aparece. Cada uma dessas entidades tem um entity-id diferente. Os conjuntos de entidades fornecem pontos de entrada no modelo de dados.
Os conjuntos de entidades são descritos em metadados OData e variam de acordo com o projeto. Você pode explorar a lista completa de conjuntos de entidades, tipos de entidade e propriedades solicitando os metadados OData para seu projeto. Para saber como, consulte Construir consultas OData para o Analytics.
Entidades compostas
As entidades compostas dão suporte a cenários específicos. O sistema os compõe de entidades mais simples, geralmente requer mais recursos de computação para gerar e pode retornar conjuntos de resultados maiores. Para obter o melhor desempenho e evitar limitações desnecessárias, certifique-se de consultar a entidade correta para seu cenário.
Por exemplo, WorkItemSnapshot combina WorkItemRevisions e Dates de modo que cada data tenha uma revisão para cada item de trabalho. Essa representação dá suporte a consultas OData que se concentram em dados de tendência para um conjunto filtrado de itens de trabalho. No entanto, você não deve usar essa entidade composta para consultar o estado atual dos itens de trabalho. Em vez disso, você deve usar a entidade WorkItems do conjunto para gerar uma consulta que execute mais rapidamente.
Da mesma forma, algumas entidades podem conter todos os valores históricos, enquanto outras podem conter apenas valores atuais.
WorkItemRevisions Contém todo o histórico de itens de trabalho, que você não deve usar em cenários em que os valores atuais são de interesse.
Relações
Para gerar resultados de consulta mais complexos, você pode combinar entidades usando relações. Você pode empregar relações para expandir, filtrar ou resumir dados.
Algumas propriedades de navegação resultam em uma única entidade, enquanto outras resultam em uma coleção de entidades. O diagrama a seguir mostra entidades selecionadas e suas propriedades de navegação. Para maior clareza, algumas entidades e relacionamentos compostos foram omitidos.
Noções básicas sobre relações de entidade
O modelo de dados do Analytics usa vários tipos de relações:
- Um para muitos: uma única entidade-mãe está relacionada a várias entidades-filha (por exemplo, uma Área está relacionada a muitos Itens de Trabalho)
- Muitos para um: várias entidades se relacionam a uma única entidade pai (por exemplo, muitos Itens de Trabalho para uma área)
- Um para um: uma única entidade está relacionada a exatamente uma outra entidade
- Muitos para muitos: várias entidades estão relacionadas a várias outras entidades (por exemplo, WorkItems to Tags)
Chaves de relacionamento
As relações entre entidades também são representadas como chaves estrangeiras para que ferramentas externas possam unir entidades. Essas propriedades têm o sufixo "SK" e são tipos de dados inteiros ou GUID. As propriedades de data têm propriedades de chave de data inteira correspondentes com o seguinte formato: AAAAMMDD.
Tipos de entidade de acompanhamento de trabalho e conjuntos de entidades
Os seguintes tipos de entidade e conjuntos de entidades são suportados com as versões de API indicadas. Para obter uma referência completa, consulte Referência de metadados de acompanhamento de trabalho para Azure Boards Analytics.
EntityType/EntitySet |
Descrição | v1.0 | v2.0 | v3.0–versão prévia | v4.0-preview |
|---|---|---|---|---|---|
|
Área/ Áreas |
O item de trabalho Caminhos da Área, com propriedades para agrupamento e filtragem por hierarquia de área. | ✔️ | ✔️ | ✔️ | ✔️ |
|
Iteração/ Iterações |
O item de trabalho Caminhos de Iteração, com propriedades para agrupamento e filtragem por hierarquia de iteração. | ✔️ | ✔️ | ✔️ | ✔️ |
|
BoardLocation/ BoardLocations |
Os locais das células do quadro, conforme identificados pela coluna do quadro, raia e divisão, incluem configurações históricas do quadro. Para obter uma descrição de cada campo do quadro, consulte Fluxo de trabalho e campos do quadro. | ✔️ | ✔️ | ✔️ | ✔️ |
|
CalendarDate/ Datas |
As datas usadas para filtrar e agrupar outras entidades usando relações. | ✔️ | ✔️ | ✔️ | ✔️ |
|
Projeto/ Projetos |
Todos os projetos definidos para uma organização (nuvem) ou coleção de projetos (local). | ✔️ | ✔️ | ✔️ | ✔️ |
|
Processo/ Processos |
Informações de lista de pendências usadas para expandir ou filtrar itens de trabalho e tipos de item de trabalho. Para obter um exemplo que usa Processos para filtrar um relatório, consulte Relatório de exemplo de acompanhamento de requisitos. | ✔️ | ✔️ | ✔️ | |
|
Marca/ Marcas |
Todas as marcas de item de trabalho para cada projeto. Para obter um exemplo que usa Marcas para filtrar um relatório, consulte Relatório de exemplo de burndown de versão. | ✔️ | ✔️ | ✔️ | ✔️ |
|
Equipe/ Equipes |
Todas as equipes definidas para o projeto. Para obter um exemplo que usa o Teams para filtrar um relatório, consulte Adicionar uma segmentação de equipe a um relatório do Power BI. | ✔️ | ✔️ | ✔️ | ✔️ |
|
Usuário/ Usuários |
Informações do usuário que você usa para expandir ou filtrar várias propriedades de item de trabalho, por exemplo Atribuído a, Criado por. | ✔️ | ✔️ | ✔️ | ✔️ |
|
WorkItemBoardSnapshot/ WorkItemBoardSnapshot |
(Composto) O estado de cada item de trabalho em cada data do calendário, incluindo a localização do quadro, usado para gerar relatórios de tendências. Para obter um relatório de exemplo, consulte Relatório de exemplo do CFD (Diagrama de Fluxo Cumulativo). | ✔️ | ✔️ | ✔️ | ✔️ |
|
WorkItemLink/ WorkItemLinks |
Os links entre itens de trabalho, por exemplo, Filho, Pai e Relacionado. Inclui apenas a revisão mais recente de links, sem histórico. Os hiperlinks não estão incluídos. | ✔️ | ✔️ | ✔️ | ✔️ |
|
WorkItemRevision/ RevisõesDeItensDeTrabalho |
Todas as revisões de item de trabalho histórico, incluindo a revisão atual. Não inclui itens de trabalho excluídos. | ✔️ | ✔️ | ✔️ | ✔️ |
|
WorkItemSnapshot/ WorkItemSnapshot |
(Composição) O estado de cada item de trabalho em cada data de calendário, usado para dar suporte a relatórios de tendências. Para obter um relatório de exemplo, consulte Relatório de exemplo de tendências de bugs. | ✔️ | ✔️ | ✔️ | ✔️ |
|
Workitem/ Workitems |
O estado atual dos itens de trabalho. Usado para dar suporte a relatórios status. Para obter um relatório de exemplo, consulte Rollup child work item values to parent sample report. | ✔️ | ✔️ | ✔️ | ✔️ |
|
WorkItemTypeField/ WorkItemTypeFields |
As propriedades do item de trabalho para cada tipo de item de trabalho e processo. Usado para dar suporte à criação de relatórios. | ✔️ | ✔️ | ✔️ | ✔️ |
Principais entidades de acompanhamento de trabalho para relatórios
Ao criar relatórios, considere estes conjuntos de entidades primárias:
-
Relatórios de estado atuais: Usar
WorkItemspara o status atual do item de trabalho -
Relatórios de tendências históricas: Usar
WorkItemSnapshotpara análise de tendências ao longo do tempo -
Controle detalhado de alterações: uso
WorkItemRevisionspara histórico abrangente -
Relatórios específicos do conselho: uso
WorkItemBoardSnapshotpara análise de quadro kanban
Tipos de entidade de pipelines e conjuntos de entidades
Os seguintes tipos de entidade e conjuntos de entidades são compatíveis com a versão v3.0-preview ou v4.0-preview do Analytics. Para obter uma referência completa, consulte a referência de metadados do Pipeline.
| TipoDeEntidade/ConjuntoDeEntidade | Descrição | v3.0–versão prévia | v4.0-preview |
|---|---|---|---|
|
Ramo/ Ramos |
Informações básicas sobre ramificações usadas em testes ou pipelines. Para obter um relatório de exemplo, consulte Relatório de exemplo de status de progresso. | ✔️ | ✔️ |
|
ParallelPipelineJobsSnapshot/ ParallelPipelineJobsSnapshot |
(Composição) Dá suporte à compreensão do consumo de pipeline paralelo. Para obter mais informações sobre testes de pipeline paralelo, consulte Executar testes em paralelo usando a tarefa Teste do Visual Studio. | ✔️ | |
|
Pipeline/ Pipelines |
Propriedades de um pipeline. | ✔️ | ✔️ |
|
Trabalho de pipeline/ Trabalhos em Pipeline |
Resultados individuais de execução para um trabalho específico em uma execução de pipeline. | ✔️ | ✔️ |
|
Execução de pipeline/ PipelineRuns |
Informações de execução para pipelines. Para obter um relatório de exemplo, consulte Relatório de exemplo de tendência de taxa de aprovação do pipeline. | ✔️ | ✔️ |
|
PipelineRunActivityResult/ PipelineRunActivityResults |
Log mesclado de todos os estágios, etapas, trabalhos e tarefas em uma execução de pipeline específica. Para obter um relatório de exemplo, consulte Relatório de exemplo de duração da tarefa de pipeline. | ✔️ | ✔️ |
|
PipelineTask/ Tarefas de pipeline |
Propriedades para tarefas que você usa dentro de um pipeline. | ✔️ | ✔️ |
|
TaskAgentPoolSizeSnapshot/ TaskAgentPoolSizeSnapshots |
(Composição) Dá suporte à compreensão do tamanho do pool, dos trabalhos de pipeline e da simultaneidade. O gráfico Histórico para pools de agentes ilustra como esse conjunto de entidades pode ser usado. | ✔️ | |
|
TaskAgentRequestSnapshot/ TaskAgentRequestSnapshots |
(Composto) Oferece percepções sobre os padrões de solicitação dos agentes e a utilização de recursos ao longo do tempo. | ✔️ |
Padrões de uso de entidade de pipeline
Diferentes entidades de pipeline atendem a cenários de relatórios específicos:
-
Relatórios de visão geral do pipeline: Usar
PipelinesePipelineRunspara métricas de alto nível -
Análise de desempenho: usar
PipelineRunActivityResultspara análise de tempo detalhada -
Utilização de recursos: usar
TaskAgentPoolSizeSnapshotpara planejamento de capacidade - **
Análise de falha: Use
PipelineJobspara o acompanhamento de êxito/falha no nível de tarefa
Tipos de entidade de teste e conjuntos de entidades
Os seguintes tipos de entidade e conjuntos de entidades são compatíveis com a versão v3.0-preview ou v4.0-preview do Analytics. Para obter uma referência completa, consulte Referência de metadados de teste.
EntityType/EntitySet |
Descrição | v3.0–versão prévia | v4.0-preview |
|---|---|---|---|
|
Testconfiguration/ Configurações de teste |
Informações de configuração do plano de teste. Para obter detalhes sobre como configurar testes, consulte Testar configurações diferentes. | ✔️ | ✔️ |
|
Resultado do teste/ Resultados do teste |
Resultados de execução individuais para um teste específico associado a um TestRun. | ✔️ | ✔️ |
|
TestResultsDaily/ TestResultsDaily |
Um instantâneo diário agregado de execuções TestResult, agrupadas por Test (não TestRun). Para obter um relatório de exemplo, consulte Relatório de exemplo de tendência de resumo de teste. | ✔️ | ✔️ |
|
Execução de teste/ Testes |
Informações de execução de testes realizados em um pipeline com dados agregados de TestResult. | ✔️ | ✔️ |
|
Teste/ Testes |
Propriedades de um caso de teste, como nome do teste e proprietário do teste. Para obter detalhes sobre como definir casos de teste, consulte Criar casos de teste manuais. | ✔️ | ✔️ |
|
Ponto de teste/ Pontos de teste |
Informações de execução para pontos de teste. Um ponto de teste é uma combinação exclusiva de caso de teste, conjunto de testes, configuração e testador. Para obter um relatório de exemplo, consulte Relatório de exemplo de status de progresso. | ✔️ | ✔️ |
|
TestPointHistorySnapshot/ TestPointHistorySnapshots |
(Conjunto) Dados de execução históricos para pontos de teste ao longo do tempo. Para obter um relatório de exemplo, consulte Relatório de exemplo de tendência de execução de teste manual. | ✔️ | ✔️ |
|
Suíte de testes/ Suítes de teste |
Informações sobre suítes de teste. Para obter detalhes sobre a definição de suítes de teste, consulte Criar planos de teste e suítes de teste. | ✔️ | ✔️ |
Cenários de relatório de entidade de teste
As entidades de teste dão suporte a várias necessidades de relatório:
-
Acompanhamento de execução de teste: usar
TestResultseTestRunspara dados de execução detalhados -
Métricas de planejamento de testes: Usar
TestPointseTestSuitespara planejar a cobertura -
Análise de tendências: Usar
TestResultsDailyeTestPointHistorySnapshotspara tendências históricas -
Cobertura de configuração: usar
TestConfigurationspara análise de teste de várias plataformas
Práticas recomendadas para usar o modelo de dados do Analytics
Otimização de desempenho
-
Escolha a entidade certa: utilize entidades de estado atuais (
WorkItems) para relatórios de estado e entidades instantâneas para tendências - Filtrar antecipadamente: aplicar filtros no nível da entidade em vez de após a recuperação de dados
- Limitar intervalos de dados: use filtros de data para restringir consultas de dados históricos
- Usar agregações apropriadas: aproveite as funções de agregação internas quando possível
Padrões de design de consulta
Consultas de estado atuais
/WorkItems?$filter=State ne 'Closed'&$select=WorkItemId,Title,State
Consultas de tendências históricas
/WorkItemSnapshot?$filter=DateSK ge 20241001&$select=WorkItemId,State,DateSK
Navegação de relacionamento
/WorkItems?$expand=Area($select=AreaPath),AssignedTo($select=UserName)
Armadilhas comuns a serem evitadas
-
Usando entidades de revisão para o estado atual: não use
WorkItemRevisionsquandoWorkItemsfor suficiente - Relações de expansão excessiva: expanda apenas as propriedades de navegação necessárias
- Filtros ausentes: sempre filtre grandes conjuntos de entidades para melhorar o desempenho
-
Ignorando entidades compostas: use entidades compostas como
WorkItemSnapshotpara análise de tendências
Considerações de versão
Diferentes versões de API fornecem diferentes funcionalidades:
- v1.0: Entidades básicas de acompanhamento de trabalho
- v2.0: processo adicionado e recursos de filtragem aprimorados
- v3.0-preview: Foram adicionadas as entidades de pipeline e teste
- v4.0-preview: entidades compostas aprimoradas e métricas de pipeline adicionais
Escolha a versão apropriada com base nos requisitos de relatório e nas entidades que você precisa acessar.