Compartilhar via


Consultar dados de tendência

Azure DevOps Services | 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 aspectos importantes do relatório e da análise de dados. O Google Analytics oferece suporte a esses recursos.

Observação

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 disponíveis para o público em geral. Nós encorajamos você a usá-lo e nos dar feedback. Os dados disponíveis dependem da versão. A versão mais recente suportada é , e a versão de visualização mais recente é v2.0v4.0-preview. Para obter mais informações, consulte Controle de versão da API OData.

Observação

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

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

Observação

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 projeto. 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 versão mais recente suportada é , e a versão de 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, há 365 linhas nessa 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ê aprenderá sobre:

  • 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 bug 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 imediatamente.

Observação

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 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
    }
  ]
}

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

  • Ativo
  • 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ê deseja 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, há duas diferenças principais. 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.

Observação

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 recomendada para todas as consultas." na resposta.