产品分析 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 的访问令牌。例如:

plaintext
POST /projects/:id/product_analytics/request/load POST /projects/:id/product_analytics/request/dry-run
属性类型必填描述
idinteger当前用户有读取权限的项目 ID。
include_tokenboolean是否在响应中包含访问令牌。(仅在漏斗生成时需要。)

请求体#

加载请求的请求体必须是一个有效的 Cube 查询。

当测量 `TrackedEvents` 时,必须使用 `TrackedEvents.*` 作为 `dimensions` 和 `timeDimensions`。相同的规则适用于测量 `Sessions`。

跟踪事件示例#

json
1{ 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}

会话示例#

json
1{ 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 元数据。例如:

plaintext
GET /projects/:id/product_analytics/request/meta
属性类型必填描述
idinteger当前用户有读取权限的项目 ID。