极狐 GitLab

产品分析 API

Tier: 旗舰版

Offering: JihuLab.com,私有化部署

Status: Beta

版本历史
  • 在极狐GitLab 15.4 中引入,带有名为 cube_api_proxy 的功能标志。默认禁用。
  • 在极狐GitLab 15.10 中,cube_api_proxy 被移除,并由 product_analytics_internal_preview 替代。
  • 在极狐GitLab 15.11 中,product_analytics_internal_previewproduct_analytics_dashboards 替代。
  • 在极狐GitLab 16.11 中,product_analytics_dashboards 默认启用。
  • 在极狐GitLab 17.1 中,功能标志 product_analytics_dashboards 被移除。
  • 在极狐GitLab 17.5 中 变更为 Beta,带有名为 product_analytics_features 的功能标志。

此功能的可用性由功能标志控制。 更多信息,请参见历史记录。 此功能尚未准备好用于生产环境。

使用此 API 来跟踪用户行为和应用使用情况。

务必先通过 此 API 定义 cube_api_base_urlcube_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.* 作为 dimensionstimeDimensions。测量 Sessions 时也适用相同的规则。

TrackedEvents 示例#

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}

Sessions 示例#

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。