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 | Servidor Azure DevOps | Azure DevOps Server 2022
O sistema de análise armazena instantâneos diários de cada item de trabalho em dois conjuntos de entidades: WorkItemSnapshot (rastreia valores de campo como estado e esforço) e WorkItemBoardSnapshot (rastreia posições de coluna de quadro). Como cada entidade contém uma linha por item de trabalho por dia, essas tabelas crescem rapidamente. Use extensões de agregação OData para filtrar por data e agrupar resultados antes de retornar os dados para a ferramenta de cliente.
Este artigo mostra como criar consultas de tendência por intervalo de datas e por iteração, usando $apply com filter, groupbye aggregate.
Nota
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.
Nota
O serviço Analytics é automaticamente instalado e tem suporte em produção para todas as novas coleções de projetos no Azure DevOps Server 2020 e em 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.
Nota
Os exemplos mostrados neste artigo são baseados em uma URL do Azure DevOps Services. Substitua a URL do Servidor do Azure DevOps conforme necessário.
https://{servername}:{port}/tfs/{OrganizationName}/{ProjectName}/_odata/{version}/
Dica
Você pode usar a IA para ajudar nessa tarefa mais adiante neste artigo ou consulte Ativar a assistência de IA com o Azure DevOps Server MCP para começar.
Pré-requisitos
| Categoria | Requisitos |
|---|---|
| níveis de acesso |
-
Membro do projeto. - No mínimo, acesso Básico. |
| Permissões | Por padrão, os membros do projeto têm permissão para fazer consultas em Análises e criar visões. Para obter mais informações sobre outros pré-requisitos sobre a habilitação de serviços e recursos e atividades gerais de acompanhamento de dados, consulte Permissões e pré-requisitos para acessar o Analytics. |
Consultar dados de tendência por intervalo de datas
Ao consultar tabelas de instantâneo, atenda a dois requisitos:
- Filtrar por data — cada tabela contém uma linha por item de trabalho por dia, portanto, uma consulta não filtrada retorna um conjunto de resultados muito grande.
- Agrupar por data – se você omitir o agrupamento de datas, a resposta incluirá um aviso.
A consulta a seguir retorna uma contagem diária de bugs por estado para março de 2016:
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
Retorna:
{
"value": [
{ "DateValue": "2016-03-01T00:00:00-08:00", "State": "Active", "Count": 2666 },
{ "DateValue": "2016-03-01T00:00:00-08:00", "State": "Closed", "Count": 51408 }
]
}
Essa consulta retorna no máximo 31 dias multiplicado pelo número de estados de bug (Ativo, Resolvido, Fechado) – máximo de 93 linhas, independentemente de quantos itens de trabalho existem.
Consultar dados de tendência por iteração
Em vez de datas de codificação rígida, filtre por iteração e referencie suas datas de início e término para que o intervalo de datas seja ajustado automaticamente. A Iteration/EndDate eq null verificação manipula iterações que ainda não têm uma data de término.
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
Retorna:
{
"value": [
{ "DateValue": "2016-04-04T00:00:00-07:00", "State": "Active", "Count": 320 },
{ "DateValue": "2016-04-04T00:00:00-07:00", "State": "Closed", "Count": 38 }
]
}
Nota
Se a consulta em tabelas de instantâneo não incluir $apply ou $select, a resposta retornará um aviso. Sempre use a agregação com conjuntos de entidades instantâneas.
Usar a IA para criar consultas de tendência
Se você configurar o Servidor MCP do Azure DevOps, poderá usar assistentes de IA para ajudar a construir e solucionar problemas de consultas de tendência em conjuntos de entidades de instantâneo.
Prompts de exemplo
| Tarefa | Prompt de exemplo |
|---|---|
| Tendência de erro por intervalo de datas | Write an OData trend query that shows the daily bug count by state over the last 30 days in <ProjectName>. |
| Instantâneo de sprint | Create an OData query against WorkItemSnapshot that shows work item counts grouped by date for the current sprint in <ProjectName>. |
| Filtrar por iteração | Generate an OData trend query that uses the iteration start and end dates from <IterationName> to show story point burndown in <ProjectName>. |
| Tendência de coluna de quadro | Write an OData query against WorkItemBoardSnapshot to track work items by board column over the past two weeks in <ProjectName> in the <OrganizationName> organization. |
| Otimizar o desempenho | My WorkItemSnapshot trend query for <ProjectName> is timing out. Suggest specific date filters and aggregation to reduce the row count without losing the key metrics. |
| Comparar sprints | Create an OData trend query that compares bug counts between <SprintName> and the previous sprint in <ProjectName> in the <OrganizationName> organization. |
| Tendência de trabalho restante | Write an OData trend query that shows the daily sum of remaining work grouped by Area Path for the current iteration in <ProjectName>. |
| Detectar alterações de estado | Create an OData snapshot query that tracks how many work items moved from Active to Resolved each day over the past <NumberOfDays> days in <ProjectName>. |
| Análise de alteração de escopo | Generate an OData trend query that shows the daily count of user stories added or removed from <SprintName> by comparing WorkItemSnapshot data in <ProjectName>. |
Dica
Se você estiver usando o Visual Studio Code, o modo do agente será especialmente útil para iterar em consultas de tendência—refinar intervalos de datas, solucionar problemas de sintaxe $apply e validar os resultados da captura instantânea.