Consultar dados de monitorização de trabalho utilizando o Analytics
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Você pode consultar seus dados de controle de trabalho do Azure DevOps usando as consultas básicas fornecidas neste artigo. Essas consultas atendem às necessidades diárias enquanto demonstram vários recursos do Analytics. Você pode adaptar a maioria dessas consultas para atender às suas necessidades.
Este artigo baseia-se nas informações fornecidas em Construir consultas OData para análise e referência de metadados para o Azure Boards Analytics.
Nota
O serviço Analytics é automaticamente ativado e suportado na produção para todos os Azure DevOps Services. A integração do Power BI e o acesso ao feed OData do serviço Analytics estão geralmente disponíveis. Recomendamos a sua utilização e solicitamos que nos envie os seus comentários.
Os dados disponíveis dependem da versão. A última versão suportada é v2.0
, e a versão de pré-visualização mais recente é v4.0-preview
. Para obter mais informações, consulte o artigo Controlo de Versões da API OData.
Nota
O serviço Analytics é instalado automaticamente e suportado 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 Analytics estão geralmente disponíveis. Recomendamos a sua utilização e solicitamos que nos envie os seus comentários. Se tiver atualizado a partir 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 é v2.0
, e a versão de pré-visualização mais recente é v4.0-preview
. Para obter mais informações, consulte o artigo Controlo de Versões da API OData.
Nota
O serviço Analytics está em pré-visualização para o Azure DevOps Server 2019. Pode ativá-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 Analytics estão em pré-visualização. Recomendamos a sua utilização e solicitamos que nos envie os seus comentários.
Os dados disponíveis dependem da versão. A última versão suportada é v2.0
, e a versão de pré-visualização mais recente é v4.0-preview
. Para obter mais informações, consulte o artigo Controlo de Versões da API OData.
Pré-requisitos
- Acesso: Ser membro de um projeto com pelo menos acesso Básico .
- Permissões: por predefinição, os membros do projeto têm permissão para consultar o Analytics e criar vistas.
- 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.
Todos os exemplos têm como escopo um projeto no Azure DevOps. Para obter exemplos de escopo no nível da organização ou do Servidor de DevOps do Azure, consulte Consultas de projeto e escopo da organização.
Gorjeta
Você pode usar a extensão WIQL to OData Azure DevOps Marketplace para gerar rapidamente uma consulta OData com base em uma consulta de item de trabalho na página Consultas . Esta extensão suporta a conversão de lista simples de itens de trabalho e itens de trabalho e links diretos. As extensões não são recursos suportados dos Painéis do Azure e, portanto, não são suportados pela equipe do produto. Para dúvidas, sugestões ou problemas que você tem ao usar essas extensões, visite a página de extensão correspondente.
Filtrar itens de trabalho com base em uma Data Alterada
Você consulta o conjunto de WorkItems
entidades para listar itens de trabalho que atendem aos critérios de campo.
A consulta a seguir retorna Itens da lista de pendências do produto, bugs e recursos que têm uma Data alterada maior que 12 de dezembro de 2021.
https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/v1.0/WorkItems?
$select=WorkItemId, WorkItemType, Title, State
&$expand=AssignedTo($select=UserEmail)
&$filter=(Project/ProjectName eq 'Fabrikam Fiber'
AND (WorkItemType eq 'Product Backlog Item' or WorkItemType eq 'Bug' or WorkItemType eq 'Feature')
AND ChangedOn/Date ge 2021-12-16T23:44:15.619Z)
&$orderby=WorkItemType desc
Filtrar itens de trabalho com base na Área
Você pode modificar a consulta a seguir para listar todos os itens de trabalho em um Caminho de Área específico.
https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}/WorkItems?
$filter=Area/AreaPath eq '{area path}'
&$select=WorkItemId, Title, State
Exemplo de consulta:
Por exemplo, a sintaxe a seguir consulta a contagem de itens de trabalho para cada projeto definido para a organização fabrikam .
https://analytics.dev.azure.com/fabrikam/_odata/v4.0-preview/WorkItems?$apply=groupby((Project/ProjectName), aggregate($count as Count))
Exemplo de resposta:
E a resposta retorna dados para os cinco projetos a seguir.
{
"@odata.context":"https://analytics.dev.azure.com/fabrikam/_odata/v4.0-preview/$metadata#WorkItems(Project(ProjectName),Count)",
"value":[
{
"@odata.id":null,
"Count":2,
"Project":{
"@odata.id":null,
"ProjectName":"Basic Fabrikam"
}
},
{
"@odata.id":null,
"Count":19,
"Project":{
"@odata.id":null,
"ProjectName":"Demo 11"
}
},
{
"@odata.id":null,
"Count":188,
"Project":{
"@odata.id":null,
"ProjectName":"Fabrikam Fiber"
}
},
{
"@odata.id":null,
"Count":89,
"Project":{
"@odata.id":null,
"ProjectName":"MyFirstProject"
}
},
{
"@odata.id":null,
"Count":2,
"Project":{
"@odata.id":null,
"ProjectName":"MyPublicProject"
}
}
]
}
Filtrar itens de trabalho com base na Iteração
https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}/WorkItems?
$filter=Iteration/IterationPath eq '{iteration path}'
&$select=WorkItemId, Title, State
Exemplo de consulta:
Por exemplo, as consultas de sintaxe a seguir trabalham itens para o projeto Fabrikam Fiber sob o Iteration Path=Fabrikam Fiber\Release 1\Sprint 6.
https://analytics.dev.azure.com/fabrikam/_odata/v4.0-preview/WorkItems?$select=WorkItemId, WorkItemType, Title, State&$expand=Iteration($select=IterationPath)&$filter=(Project/ProjectName eq 'Fabrikam Fiber' AND WorkItemType ne '' AND Iteration/IterationPath eq 'Fabrikam Fiber\Release 1\Sprint 6')
Exemplo de resposta:
E a resposta retorna dados para os quatro itens de trabalho a seguir.
{
"@odata.context":"https://analytics.dev.azure.com/fabrikam/_odata/v4.0-preview/$metadata#WorkItems(WorkItemId,WorkItemType,Title,State,Iteration(IterationPath))",
"value":[
{
"WorkItemId":361,
"Title":"Hello World Web Site",
"WorkItemType":"Product Backlog Item",
"State":"New",
"Iteration":{
"IterationPath":"Fabrikam Fiber\\Release 1\\Sprint 6"
}
},
{
"WorkItemId":1126,
"Title":"web site task",
"WorkItemType":"Task",
"State":"To Do",
"Iteration":{
"IterationPath":"Fabrikam Fiber\\Release 1\\Sprint 6"
}
},
{
"WorkItemId":1136,
"Title":"Add a new task with two new tags",
"WorkItemType":"Task",
"State":"To Do",
"Iteration":{
"IterationPath":"Fabrikam Fiber\\Release 1\\Sprint 6"
}
},
{
"WorkItemId":1140,
"Title":"New task - test for Blocked",
"WorkItemType":"Task",
"State":"To Do",
"Iteration":{
"IterationPath":"Fabrikam Fiber\\Release 1\\Sprint 6"
}
}
]
}
Recuperar itens para uma iteração
Você pode recuperar todos os itens de trabalho para uma determinada iteração que ficam entre o primeiro dia da iteração e o último dia da iteração. Aqui, sua consulta é restringida pelos dados contidos nos dados de acompanhamento de trabalho.
https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}/WorkItems?
$filter=Iteration/IterationPath eq '{iteration path}'
and ChangedDate ge Iteration/StartDate
and ChangedDate le Iteration/EndDate
&$select=WorkItemId, Title, State
Filtrar itens de trabalho que contenham tags específicas
O operador any é usado aqui porque há uma coleção de tags que podem ser associadas a um item de trabalho.
Do ponto de vista do uso, o formato é: {Navigation Property}/any(d:d/{Field Name} {operator} {expression})
. Qualquer item não cercado por colchetes encaracolados ({}) é um literal. Existem algumas variações. Por exemplo, você não precisa usar "d" como usado na expressão acima.
Seguir este formato mantém a simplicidade.
https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}/WorkItems?
$filter=Tags/any(d:d/TagName eq '{tag name}')
&$select=WorkItemId, Title, State
Filtrar itens de trabalho para uma equipe específica
Use a consulta a seguir para listar itens de trabalho para uma equipe específica.
https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}/WorkItems?
$filter=Teams/any(d:d/TeamName eq '{team name}')
&$select=WorkItemId, Title, State
Filtrar itens de trabalho com base em um campo que tenha um valor específico
A consulta a seguir é semelhante a uma consulta de item de trabalho que usa o operador Was Ever .
https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}/WorkItems?
$filter=WorkItemType eq '{Type}'
and Revisions/any(r:r/ResolvedBy/UserName eq '{User}')
Exemplo de consulta:
A consulta a seguir retorna os itens de trabalho que já foram atribuídos a Jamal Hartnett cujo e-mail é 'fabrikamfiber4@hotmail.com' para o projeto Fabrikam Fibra .
https://analytics.dev.azure.com/fabrikam/Fabrikam Fiber/_odata/v4.0-preview/WorkItems?
$select=WorkItemType, Title, State,
&$expand=AssignedTo($select=UserEmail), Area($select=AreaPath)
&$filter=(WorkItemType ne '' AND State ne '' AND Revisions/any(r:r/AssignedTo/UserEmail eq 'fabrikamfiber4@hotmail.com'))
&$orderby=WorkItemType asc
Exemplo de resposta:
A resposta retorna dois itens de trabalho.
{
"@odata.context":"https://analytics.dev.azure.com/fabrikam/Design%20Agile/_odata/v4.0-preview/$metadata#WorkItems(Priority,WorkItemType,Title,State,TagNames,AssignedTo(UserEmail),Area(AreaPath))",
"value":[
{
"Title":"New home page design",
"WorkItemType":"Feature",
"State":"Closed",
"AssignedTo":{
"UserEmail":"fabrikamfiber4@hotmail.com"
},
"Area":{
"AreaPath":"Design Agile"
}
},
{
"Title":"Check performance",
"WorkItemType":"User Story",
"State":"New",
"AssignedTo":{
"UserEmail":"fabrikamfiber4@hotmail.com"
},
"Area":{
"AreaPath":"Design Agile"
}
}
]
}
Recuperar as equipes atribuídas em um Caminho de Área
A consulta a seguir retorna os nomes das equipes atribuídas a caminhos de área na área Gerenciamento de contas para o projeto Fabrikam Fibra .
> https://analytics.dev.azure.com/fabrikam/Fabrikam Fiber/_odata/v4.0-preview/Areas?
> $filter=startswith(AreaPath,'Fabrikam Fiber\Account Management')
> &$select=AreaPath&$expand=Teams($select=TeamName)
>```
The response returns three area paths and the names of several teams assigned to each.
> [!div class="tabbedCodeSnippets"]
```OData
> @odata.context "https://analytics.dev.azure.com/fabrikam/Fabrikam%20Fiber/_odata/v4.0-preview/$metadata#Areas(AreaPath,Teams(TeamName))"
> value
> 0
> AreaPath "Fabrikam Fiber\\Account Management\\Customer Profile"
> Teams
> 0
> TeamName "Organization Management"
> 1
> TeamName "Fabrikam Team"
> 2
> TeamName "Customer Profile"
> 1
> AreaPath "Fabrikam Fiber\\Account Management\\Shopping Cart"
> Teams
> 0
> TeamName "Organization Management"
> 1
> TeamName "Shopping Cart"
> 2
> TeamName "Fabrikam Team"
> 2
> AreaPath "Fabrikam Fiber\\Account Management"
> Teams
> 0
> TeamName "Organization Management"
> 1
> TeamName "Fabrikam Team"
Retornar o histórico de um item de trabalho específico
Você consulta o conjunto de entidades para listar o histórico de WorkItemRevisions
itens de trabalho. A consulta a seguir retorna o valor de Title, State e Iteration Path para cada revisão de um item de trabalho especificado.
https://analytics.dev.azure.com/{OrganizationName}/{ProjectName}/_odata/{version}/WorkItemRevisions?
$filter=WorkItemId eq {Id}
&$select=WorkItemId, Title, State, Iteration Path
Nota
Sempre que uma alteração é feita em um item de trabalho, incluindo uma alteração no valor da classificação da pilha, uma revisão é criada. Para obter mais informações sobre dados históricos, consulte Aplicando filtros a dados históricos.
Exemplo de consulta:
Por exemplo, a sintaxe a seguir consulta revisões para ID=1145 no projeto Fabrikam Fibra.
https://analytics.dev.azure.com/fabrikam/Fabrikam Fiber/_odata/v1.0/WorkItemRevisions?$select=WorkItemId, Title, State&$expand=Iteration($select=IterationPath)&$filter=(Project/ProjectName eq 'Fabrikam Fiber' AND WorkItemId eq 1145 AND State ne '' AND Revision gt 1)
Exemplo de resposta:
E a resposta retorna dados para as quatro revisões:
{
"@odata.context":"https://analytics.dev.azure.com/fabrikam/Fabrikam%20Fiber/_odata/v4.0-preview/$metadata#WorkItemRevisions(WorkItemId,Title,State,Iteration(IterationPath))",
"value":[
{
"WorkItemId":1145,
"Title":"Sprint 2 work added in June",
"State":"New",
"Iteration":{
"IterationPath":"Fabrikam Fiber\\Future"
}
},
{
"WorkItemId":1145,
"Title":"Sprint 2 work added in June",
"State":"New",
"Iteration":{
"IterationPath":"Fabrikam Fiber\\Future"
}
},
{
"WorkItemId":1145,
"Title":"Sprint 2 work added in June",
"State":"New",
"Iteration":{
"IterationPath":"Fabrikam Fiber\\Release 1\\Sprint 2"
}
},
{
"WorkItemId":1145,
"Title":"Sprint 2 work added in June",
"State":"Done",
"Iteration":{
"IterationPath":"Fabrikam Fiber\\Release 1\\Sprint 2"
}
}
]
}