Analytics 数据模型

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure DevOps 的分析数据模型由实体集组成,其成员(实体)包含可筛选、聚合和汇总的属性。 此外,它们还包含 将实体与其他实体相关的导航属性 ,从而提供对其他属性的访问权限,以便进行选择、筛选和分组。

注意

分析服务在所有 Azure DevOps Services 的生产中自动启用和支持。 对 Analytics Service 的 OData 源的 Power BI 集成和访问已正式发布。 我们鼓励你使用它并提供反馈。 可用数据依赖于版本。 支持的最新版本是 v2.0,最新的预览版本是 v4.0-preview。 有关详细信息,请参阅 OData API 版本控制

注意

Azure DevOps Server 2020 及更高版本的所有新项目集合都会自动安装并支持 Analytics 服务。 对 Analytics Service 的 OData 源的 Power BI 集成和访问已正式发布。 我们鼓励你使用它并提供反馈。 如果从 Azure DevOps Server 2019 升级,则可以在升级期间安装 Analytics 服务。

可用数据依赖于版本。 支持的最新版本是 v2.0,最新的预览版本是 v4.0-preview。 有关详细信息,请参阅 OData API 版本控制

注意

Analytics 服务为 Azure DevOps Server 2019 提供预览版。 可以为 项目集合启用或安装它Power BI 集成和分析服务的 OData 源的访问权限处于预览状态。 我们鼓励你使用它并提供反馈。

可用数据依赖于版本。 支持的最新版本是 v2.0,最新的预览版本是 v4.0-preview。 有关详细信息,请参阅 OData API 版本控制

架构命名空间

Analytics 数据模型基于两个架构命名空间:

  • Microsoft.VisualStudio.Services.Analytics.Model
  • Microsoft.VisualStudio.Services.Analytics

实体集和实体类型

实体类型命名为具有键的结构化类型。 它们定义每个实体的命名属性和关系。 EntityType键由基元属性的子集构成,例如 WorkItemId、PipelineIdReleasePipelineId 等实体类型。

实体集是实体的命名集合。 例如, WorkItems 是包含实体的 WorkItem 实体集。 实体的键唯一标识实体集中的实体。 如果多个实体集使用相同的实体类型,则键值的相同组合可以出现在多个实体集中并标识不同的实体,每个实体集显示此组合键。 其中每个实体都有不同的实体 ID。实体集提供数据模型中的入口点。

实体集在 OData 元数据中描述,并且因项目而异。 可以通过请求项目的 OData 元数据来浏览实体集、实体类型和属性的完整列表。 若要了解如何操作,请参阅 为 Analytics 构造 OData 查询。

复合实体

复合实体支持特定方案。 它们由更简单的实体组成,通常需要更多的计算资源才能生成,并且可能会返回更大的结果集。 若要实现最佳性能并避免不必要的限制,请确保查询方案的正确实体。

例如, WorkItemSnapshot 合并 WorkItemRevisionsDates 让每个日期为每个工作项都有一个修订。 此表示形式支持 OData 查询,这些查询侧重于筛选的工作项集的趋势数据。 但是,不应使用此复合实体来查询工作项的当前状态。 应改用 WorkItems 实体集生成更快速的查询。

同样,某些实体可能包含所有历史值,而另一些实体可能仅包含当前值。 WorkItemRevisions 包含所有工作项历史记录,在当前值感兴趣的情况下,不应使用这些历史记录。

关系

若要生成更复杂的查询结果,可以使用关系合并实体。 可以使用关系来扩展、筛选或汇总数据。

某些导航属性会导致单个实体,而另一些则会导致实体集合。 下图显示了选择实体及其导航属性。 为清楚起见,省略了一些复合实体和关系。

分析数据模型的关系图。

关系键

实体关系也表示为外键,以便外部工具可以联接实体。 这些属性具有后缀“SK”,并且是整数或 GUID 数据类型。 日期属性具有以下格式的相应整数日期键属性: YYYYMMDD

工作跟踪实体类型和实体集

指示的 API 版本支持以下实体类型和实体集。 有关完整参考,请参阅 Azure Boards Analytics 的工作跟踪元数据参考。

EntityType/EntitySet 说明 v1.0 v2.0 v3.0-preview v4.0-preview
区域/
地区
工作项 “区域路径”,具有用于按区域层次结构分组和筛选的属性。 ✔️ ✔️ ✔️ ✔️
迭代/
迭代次数
工作项 迭代路径,具有用于按迭代层次结构分组和筛选的属性。 ✔️ ✔️ ✔️ ✔️
BoardLocation/
BoardLocations
板单元位置(由板柱、泳道和拆分标识)包括历史板设置。 有关每个板字段的说明,请参阅 “工作流”和“板”字段 ✔️ ✔️ ✔️ ✔️
CalendarDate/
日期
用于使用关系筛选和分组其他实体的日期。 ✔️ ✔️ ✔️ ✔️
项目/
项目
为组织定义的所有项目 (云) 或项目集合 (本地) 。 ✔️ ✔️ ✔️ ✔️
处理/
进程
用于展开或筛选工作项和工作项类型的积压工作信息。 有关使用 进程 筛选报表的示例,请参阅 要求跟踪示例报表 ✔️ ✔️ ✔️
标记/
标记
每个项目的所有工作项标记。 有关使用 标记 筛选报表的示例,请参阅 发布进度示例报表 ✔️ ✔️ ✔️ ✔️
Team/
Teams
为项目定义的所有团队。 有关使用 Teams 筛选报表的示例,请参阅 向 Power BI 报表添加团队切片器 ✔️ ✔️ ✔️ ✔️
用户/
用户
用于展开或筛选各种工作项属性的用户信息,例如 “分配到”“创建者”。 ✔️ ✔️ ✔️ ✔️
WorkItemBoardSnapshot/
WorkItemBoardSnapshot
(复合)每个日历日期(包括板位置)上每个工作项的状态,用于生成趋势报告。 有关示例报表,请参阅 (CFD) 示例报表的累积流程图 ✔️ ✔️ ✔️ ✔️
WorkItemLink/
WorkItemLinks
工作项之间的链接,例如, ChildParentRelated。 仅包含最新修订的链接,不包含历史记录。 不包括超链接。 ✔️ ✔️ ✔️ ✔️
WorkItemRevision/
WorkItemRevisions
所有历史工作项修订,包括当前修订。 不包括已删除的工作项。 ✔️ ✔️ ✔️ ✔️
WorkItemSnapshot/
WorkItemSnapshot
(复合) 每个日历日期上每个工作项的状态,用于支持趋势报告。 有关示例报告,请参阅 Bug 趋势示例报告 ✔️ ✔️ ✔️ ✔️
WorkItem/
WorkItems
工作项的当前状态。 用于支持状态报告。 有关示例报表,请参阅 将子工作项值汇总到父示例报表 ✔️ ✔️ ✔️ ✔️
WorkItemTypeField/
WorkItemTypeFields
每个工作项类型和进程的工作项属性。 用于支持生成报表。 ✔️ ✔️ ✔️ ✔️

管道实体类型和实体集

v3.0-preview 或 v4.0-preview Analytics 版本支持以下实体类型和实体集。 有关完整参考,请参阅 管道元数据参考

EntityType/EntitySet 说明 v3.0-preview v4.0-preview
分支
分支
有关测试或管道中使用的分支的基本信息。 有关示例报表,请参阅 进度状态示例报告 ✔️ ✔️
ParallelPipelineJobsSnapshot/
ParallelPipelineJobsSnapshot
(复合) 支持了解并行管道消耗。 有关并行管道测试的详细信息,请参阅 使用 Visual Studio 测试任务并行运行测试。 ✔️
管道
管道
管道的属性。 ✔️ ✔️
PipelineJob/
PipelineJobs
与 TestRun 关联的特定测试的单个执行结果 ✔️ ✔️
PipelineRun/
PipelineRuns
管道的执行信息。 有关示例报表,请参阅 管道传递率趋势示例报告 ✔️ ✔️
PipelineRunActivityResult/
PipelineRunActivityResults
特定管道执行中的所有阶段、步骤、作业和任务的合并日志。 有关示例报表,请参阅 管道任务工期示例报表 ✔️ ✔️
PipelineTask/
PipelineTasks
管道中使用的任务的属性。 ✔️ ✔️
TaskAgentPoolSizeSnapshot/
TaskAgentPoolSizeSnapshots
(复合) 支持了解池大小、管道作业和并发性。 代理池的历史图说明了如何使用此实体集。 ✔️
TaskAgentRequestSnapshot/
TaskAgentRequestSnapshots
(复合) ✔️

测试实体类型和实体集

v3.0-preview 或 v4.0-preview Analytics 版本支持以下实体类型和实体集。 有关完整参考,请参阅 测试元数据参考

EntityType/EntitySet 说明 v3.0-preview v4.0-preview
TestConfiguration/
TestConfigurations
测试计划配置信息。 有关配置测试的详细信息,请参阅 测试不同的配置 ✔️ ✔️
TestResult/
TestResults
TestRun 关联的特定测试的单个执行结果。 ✔️ ✔️
TestResultsDaily/
TestResultsDaily
TestResult 执行的每日快照聚合,按 Test(而不是 TestRun)分组。 有关示例报表,请参阅 测试摘要趋势示例报告 ✔️ ✔️
TestRun/
TestRuns
使用聚合 TestResult 在管道下运行的测试的执行信息。 ✔️ ✔️
测试/
测试
测试用例的属性,例如测试名称和测试所有者。 有关定义测试用例的详细信息,请参阅 创建手动测试用例 ✔️ ✔️
TestPoint/
TestPoints
测试点的执行信息。 测试点是测试用例、测试套件、配置和测试人员的唯一组合。 有关示例报表,请参阅 进度状态示例报告 ✔️ ✔️
TestPointHistorySnapshot/
TestPointHistorySnapshots
(复合) 与 TestRun 关联的特定测试的单个执行结果。 有关示例报表,请参阅 手动测试执行趋势示例报告 ✔️ ✔️
TestSuite/
TestSuites
测试套件信息。 有关定义测试套件的详细信息,请参阅 创建测试计划和测试套件 ✔️ ✔️