製品分析API

  • GitLab 15.4 でcube_api_proxy というフラグで導入されました。デフォルトでは無効になっています。
  • cube_api_proxy GitLab 15.10 で削除され、product_analytics_internal_preview に置き換えられました。
  • product_analytics_internal_preview GitLab 15.11でproduct_analytics_dashboards

フラグ: セルフマネジメントのGitLabでは、デフォルトではこの機能は利用できません。プロジェクトごと、またはインスタンス全体で利用できるようにするには、管理者がcube_api_proxy という機能フラグを有効にします。GitLab.comでは、この機能は利用できません。この機能はまだ本番環境では使用できません。

note
APIを使ってcube_api_base_urlcube_api_key のアプリケーション設定を定義してください。

キューブにクエリ要求を送信します。

Cube API へのクエリに使用できるアクセストークンを生成します。例えば、以下のようになります:

POST /projects/:id/product_analytics/request/load
POST /projects/:id/product_analytics/request/dry-run
属性種類必須説明
id整数。yes現在のユーザーが読み取りアクセス権を持っているプロジェクトのID。
include_tokenbooleanいいえアクセストークンをレスポンスに含めるかどうか。(ファネル生成にのみ必要です。)

リクエストボディ

ロード要求の本文は、有効なキューブ・クエリである必要があります。

note
TrackedEvents を測定する場合は、dimensions およびtimeDimensionsTrackedEvents.* を使用する必要があります。Sessionsを測定する場合も、同じルールが適用されます。

追跡イベントの例

{
  "query": {
    "measures": [
      "TrackedEvents.count"
    ],
    "timeDimensions": [
      {
        "dimension": "TrackedEvents.utcTime",
        "dateRange": "This week"
      }
    ],
    "order": [
      [
        "TrackedEvents.count",
        "desc"
      ],
      [
        "TrackedEvents.docPath",
        "desc"
      ],
      [
        "TrackedEvents.utcTime",
        "asc"
      ]
    ],
    "dimensions": [
      "TrackedEvents.docPath"
    ],
    "limit": 23
  },
  "queryType": "multi"
}

セッションの例

{
  "query": {
    "measures": [
      "Sessions.count"
    ],
    "timeDimensions": [
      {
        "dimension": "Sessions.startAt",
        "granularity": "day"
      }
    ],
    "order": {
      "Sessions.startAt": "asc"
    },
    "limit": 100
  },
  "queryType": "multi"
}

キューブへのメタデータ要求の送信

アナリティクス・データのキューブ・メタデータを返します。例えば

GET /projects/:id/product_analytics/request/meta
属性種類必須説明
id整数。yes現在のユーザーが読み取りアクセス権を持っているプロジェクトのID。

プロジェクトのファンネルのリスト

プロジェクトのすべてのファンネルをリストアップします。例えば

GET /projects/:id/product_analytics/funnels
属性種類必須説明
id整数。yes現在のユーザーが開発者ロールを持っているプロジェクトの ID。