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、PipelineId、ReleasePipelineId 等实体类型。
实体集是实体的命名集合。 例如, WorkItems
是包含实体的 WorkItem
实体集。 实体的键唯一标识实体集中的实体。 如果多个实体集使用相同的实体类型,则键值的相同组合可以出现在多个实体集中并标识不同的实体,每个实体集显示此组合键。 其中每个实体都有不同的实体 ID。实体集提供数据模型中的入口点。
实体集在 OData 元数据中描述,并且因项目而异。 可以通过请求项目的 OData 元数据来浏览实体集、实体类型和属性的完整列表。 若要了解如何操作,请参阅 为 Analytics 构造 OData 查询。
复合实体
复合实体支持特定方案。 它们由更简单的实体组成,通常需要更多的计算资源才能生成,并且可能会返回更大的结果集。 若要实现最佳性能并避免不必要的限制,请确保查询方案的正确实体。
例如, WorkItemSnapshot
合并 WorkItemRevisions
并 Dates
让每个日期为每个工作项都有一个修订。 此表示形式支持 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 |
工作项之间的链接,例如, Child、 Parent 和 Related。 仅包含最新修订的链接,不包含历史记录。 不包括超链接。 | ✔️ | ✔️ | ✔️ | ✔️ |
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 |
测试套件信息。 有关定义测试套件的详细信息,请参阅 创建测试计划和测试套件。 | ✔️ | ✔️ |