제품 분석 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 및 GitLab Dedicated에서는 기본적으로 이 기능을 사용할 수 없습니다. 프로젝트 단위로 또는 전체 인스턴스에 사용하도록 만들려면 관리자가 cube_api_proxy라는 피처 플래그를 활성화할 수 있습니다. GitLab.com에서는 이 기능을 사용할 수 있습니다. 이 기능은 본격적인 사용에는 준비되지 않았습니다.
note
먼저 API를 사용하여 cube_api_base_urlcube_api_key 애플리케이션 설정을 정의해야 합니다.

큐브에 쿼리 요청 보내기

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

POST /projects/:id/product_analytics/request/load
POST /projects/:id/product_analytics/request/dry-run
속성 유형 필요함 설명
id 정수 현재 사용자가 읽기 액세스 권한을 가진 프로젝트의 ID.
include_token 부울 아니요 응답에 액세스 토큰을 포함할지 여부. (시물레이션을 위해서만 필요함.)

요청 본문

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

note
TrackedEvents를 측정할 때 dimensionstimeDimensions에 대해 TrackedEvents.*를 사용해야 합니다. 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 정수 현재 사용자가 읽기 액세스 권한을 가진 프로젝트의 ID.

프로젝트의 퍼널 나열

프로젝트의 모든 퍼널을 나열합니다. 예를 들어:

GET /projects/:id/product_analytics/funnels
속성 유형 필요함 설명
id 정수 현재 사용자가 개발자 역할을 가진 프로젝트의 ID.