Consultar dados de tendência

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

Examinar as tendências dos dados e fazer comparações período a período são aspetos importantes da comunicação e análise de dados. O Google Analytics oferece suporte a esses recursos.

Nota

O serviço Analytics é automaticamente habilitado e suportado na produção para todos os Serviços de DevOps do Azure. A integração do Power BI e o acesso ao feed OData do Serviço de Análise estão geralmente disponíveis. Nós encorajamos você a usá-lo e nos dar feedback. Os dados disponíveis dependem da versão. A última versão suportada é , e a versão de pré-visualização mais recente é v2.0v4.0-preview. Para obter mais informações, consulte Controle de versão da API OData.

Nota

O serviço Analytics é instalado automaticamente e tem suporte na produção para todas as novas coleções de projetos para o 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 geralmente disponíveis. Nós encorajamos você a usá-lo e nos dar feedback. Se você atualizou do Azure DevOps Server 2019, poderá instalar o serviço Analytics durante a atualização.

Os dados disponíveis dependem da versão. A última versão suportada é , e a versão de pré-visualização mais recente é v2.0v4.0-preview. Para obter mais informações, consulte Controle de versão da API OData.

Nota

O serviço Analytics está em pré-visualização para o Azure DevOps Server 2019. Você pode habilitá-lo ou instalá-lo para uma coleção de projetos. A integração do Power BI e o acesso ao feed OData do Serviço de Análise estão em Pré-visualização. Nós encorajamos você a usá-lo e nos dar feedback.

Os dados disponíveis dependem da versão. A última versão suportada é , e a versão de pré-visualização mais recente é v2.0v4.0-preview. Para obter mais informações, consulte Controle de versão da API OData.

Os dados de tendência são expostos nos conjuntos de entidades WorkItemSnapshot e WorkItemBoardSnapshot. Eles são construídos para que cada item de trabalho, desde o dia em que foi criado até hoje, exista para cada dia. Para uma organização com apenas um item de trabalho que foi criado há um ano, existem 365 linhas nesta entidade. Para grandes projetos, essas entidades seriam impraticáveis de usar com ferramentas de clientes.

Qual é a solução? Use as extensões de agregação.

Neste artigo você vai aprender:

  • Como construir uma consulta básica para dados de tendência

Usando as Extensões de Agregação OData, você pode retornar dados agregados do Azure DevOps que são propícios para relatórios. Por exemplo, você pode mostrar a tendência de bugs para o mês de março. As tendências de bugs são uma parte comum e crítica do gerenciamento de qualquer projeto para que você possa usá-lo corretamente imediatamente.

Nota

Os exemplos mostrados neste documento são baseados em uma URL dos Serviços de DevOps do Azure, que você precisará substituir na URL do Servidor de DevOps do Azure.

https://{servername}:{port}/tfs/{OrganizationName}/{ProjectName}/_odata/{version}/

Construir uma consulta básica para dados de tendência

Há alguns requisitos básicos necessários para consultar efetivamente a tabela WorkItemSnapshot:

  • Filtre os dados por data.
  • A agregação deve agrupar-se por, pelo menos, data. Caso contrário, a resposta terá aviso.

A consulta para criar um relatório de tendência de bug se parece com o exemplo a seguir:

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//WorkItemSnapshot?
  $apply=
    filter(DateValue ge 2016-03-01Z and DateValue le 2016-03-31Z and WorkItemType eq 'Bug')/
    groupby((DateValue,State), aggregate($count as Count))
  &$orderby=DateValue

Ele retorna um resultado semelhante ao exemplo a seguir:

{
  "@odata.context": "https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//$metadata#WorkItemSnapshot(DateValue,State,Count)",
  "value": [
    {
      "@odata.id": null,
      "State": "Active",
      "DateValue": "2016-03-01T00:00:00-08:00",
      "Count": 2666
    },
    {
      "@odata.id": null,
      "State": "Closed",
      "DateValue": "2016-03-01T00:00:00-08:00",
      "Count": 51408
    }
  ]
}

Esta consulta produzirá, no máximo 31 * (number of bug states). O bug padrão tem três estados:

  • Ativos
  • Resolvido
  • Fechadas

No máximo, essa consulta retornará 93 linhas, não importa quantos milhares de registros realmente existam. Ele fornece uma forma muito mais compacta de retornar dados.

Vejamos uma variação deste exemplo. Você quer ver a tendência de bug para uma iteração ou uma versão que começa com uma iteração e termina com outra.

Para construir essa consulta, faça o seguinte exemplo:

https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//WorkItemSnapshot?
  $apply=
    filter(WorkItemType eq 'Bug')/
    filter(Iteration/IterationName eq 'Sprint 99')/
    filter(DateValue ge Iteration/StartDate and (Iteration/EndDate eq null or DateValue le Iteration/EndDate))/
    groupby((DateValue, State), aggregate($count as Count))
  &$orderby=DateValue

Ele retorna um resultado semelhante ao exemplo a seguir:

{
  "@odata.context": "https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}//$metadata#WorkItemSnapshot(DateValue,State,Count)",
  "value": [
    {
      "@odata.id": null,
      "State": "Active",
      "DateValue": "2016-04-04T00:00:00-07:00",
      "Count": 320
    },
    {
      "@odata.id": null,
      "State": "Closed",
      "DateValue": "2016-04-04T00:00:00-07:00",
      "Count": 38
    }
  ]
}

Nesta consulta, existem duas diferenças fundamentais. Adicionamos uma cláusula de filtro para filtrar os dados para uma iteração específica e as datas agora estão sendo comparadas com as datas de início e término da iteração versus uma data codificada.

Nota

Se a agregação não for usada em sua consulta em tabelas de instantâneo, você verá o aviso "A consulta especificada não inclui uma cláusula $select ou $apply que é recomendada para todas as consultas." na resposta.