제품 분석 API

Tier: Ultimate Offering: GitLab.com
  • 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 및 GitLab Dedicated의 경우, 기본적으로 이 기능을 사용할 수 없습니다. 특정 프로젝트 또는 전체 인스턴스에서 사용하도록 만들려면 관리자가 cube_api_proxy라는 플래그를 활성화할 수 있습니다. GitLab.com에서는 이 기능을 사용할 수 있습니다. 이 기능은 아직 제품 환경에서 사용하기에 적합하지 않습니다.

note
먼저 API를 사용하여 cube_api_base_urlcube_api_key 응용 프로그램 설정을 정의해야 합니다.

Cube에 쿼리 요청 보내기

Cube API를 쿼리하는 데 사용할 수 있는 액세스 토큰을 생성합니다. 예:

POST /projects/:id/product_analytics/request/load
POST /projects/:id/product_analytics/request/dry-run
속성 타입 필수 설명
id 정수 현재 사용자가 읽기 액세스 권한이 있는 프로젝트의 ID입니다.
include_token 부울 아니요 응답에 액세스 토큰을 포함시킬지 여부입니다. (퍼널 생성에만 필요)

요청 본문

로드 요청의 본문은 유효한 Cube 쿼리여야 합니다.

note
TrackedEvents를 메트릭할 때 dimensionstimeDimensionsTrackedEvents.*를 사용해야 합니다. 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"
}

Cube에 메타데이터 요청 보내기

분석 데이터에 대한 Cube 메타데이터를 반환합니다. 예:

GET /projects/:id/product_analytics/request/meta
속성 타입 필수 설명
id 정수 현재 사용자가 읽기 액세스 권한이 있는 프로젝트의 ID입니다.