Analytics 数据模型

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

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

注意

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

注意

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

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

注意

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

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

架构命名空间

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

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

实体集和实体类型

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

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

管道实体类型和实体集

v3.0-previewv4.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-previewv4.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
测试套件信息。 有关定义测试套件的详细信息,请参阅 创建测试计划和测试套件 ✔️ ✔️