产品分析 API
- Tier: 旗舰版
- Offering: JihuLab.com, 私有化部署
- Status: Beta
History
- 引入于极狐GitLab 15.4,使用名为 cube_api_proxy 的功能标志。默认禁用。
- 在极狐GitLab 15.10 中,cube_api_proxy 被移除并用 product_analytics_internal_preview 代替。
- 在极狐GitLab 16.11 中,product_analytics_dashboards 替代了 product_analytics_internal_preview。
- 在极狐GitLab 16.11 中,product_analytics_dashboards 默认启用。
- 在极狐GitLab 17.1 中,功能标志 product_analytics_dashboards 被移除。
- 在极狐GitLab 17.5 中,更改为 beta,并使用名为 product_analytics_features 的功能标志。
此功能的可用性受控于功能标志。更多信息,可查看历史。此变更还未生产就绪。
请确保首先使用 [API](settings.md) 定义了 `cube_api_base_url` 和 `cube_api_key` 应用设置。
发送查询请求到 Cube
生成一个可用于查询 Cube API 的访问令牌。例如:
plaintextPOST /projects/:id/product_analytics/request/load POST /projects/:id/product_analytics/request/dry-run
| 属性 | 类型 | 必填 | 描述 |
|---|---|---|---|
| id | integer | 是 | 当前用户有读取权限的项目 ID。 |
| include_token | boolean | 否 | 是否在响应中包含访问令牌。(仅在漏斗生成时需要。) |
请求体
加载请求的请求体必须是一个有效的 Cube 查询。
当测量 `TrackedEvents` 时,必须使用 `TrackedEvents.*` 作为 `dimensions` 和 `timeDimensions`。相同的规则适用于测量 `Sessions`。
跟踪事件示例
json1{ 2 "query": { 3 "measures": [ 4 "TrackedEvents.count" 5 ], 6 "timeDimensions": [ 7 { 8 "dimension": "TrackedEvents.utcTime", 9 "dateRange": "This week" 10 } 11 ], 12 "order": [ 13 [ 14 "TrackedEvents.count", 15 "desc" 16 ], 17 [ 18 "TrackedEvents.docPath", 19 "desc" 20 ], 21 [ 22 "TrackedEvents.utcTime", 23 "asc" 24 ] 25 ], 26 "dimensions": [ 27 "TrackedEvents.docPath" 28 ], 29 "limit": 23 30 }, 31 "queryType": "multi" 32}
会话示例
json1{ 2 "query": { 3 "measures": [ 4 "Sessions.count" 5 ], 6 "timeDimensions": [ 7 { 8 "dimension": "Sessions.startAt", 9 "granularity": "day" 10 } 11 ], 12 "order": { 13 "Sessions.startAt": "asc" 14 }, 15 "limit": 100 16 }, 17 "queryType": "multi" 18}
发送元数据请求到 Cube
返回分析数据的 Cube 元数据。例如:
plaintextGET /projects/:id/product_analytics/request/meta
| 属性 | 类型 | 必填 | 描述 |
|---|---|---|---|
| id | integer | 是 | 当前用户有读取权限的项目 ID。 |