제품 분석 API
Tier: Ultimate
Offering: GitLab.com, Self-managed
Status: Beta
- GitLab 15.4에서
cube_api_proxy
라는 플래그로 도입되었습니다. 기본 상태로 비활성화되어 있습니다.- GitLab 15.10에서
cube_api_proxy
가 제거되고product_analytics_internal_preview
로 대체되었습니다.- GitLab 15.11에서
product_analytics_internal_preview
가product_analytics_dashboards
로 대체되었습니다.- GitLab 16.11에서
product_analytics_dashboards
가 기본으로 활성화되었습니다.- 기능 플래그
product_analytics_dashboards
가 GitLab 17.1에서 제거되었습니다.- GitLab 17.5에서 베타로 변경되었고, 기능 플래그
product_analytics_features
가 추가되었습니다.
이 기능의 가용성은 플래그로 제어됩니다.
자세한 정보는 히스토리를 참조하십시오.
이 기능은 프로덕션 환경에서 사용할 준비가 되지 않았습니다.
Cube에 쿼리 요청 보내기
Cube API를 쿼리하는 데 사용할 수 있는 액세스 토큰을 생성합니다. 예를 들어 다음과 같습니다:
POST /projects/:id/product_analytics/request/load
POST /projects/:id/product_analytics/request/dry-run
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수 | 예 | 현재 사용자가 읽기 액세스 권한이있는 프로젝트의 ID. |
include_token
| 부울 | 아니요 | 응답에 액세스 토큰을 포함할지 여부. (퍼널 생성에만 필요함.) |
요청 본문
로드 요청의 본문은 유효한 Cube 쿼리여야 합니다.
TrackedEvents
를 측정할 때 dimensions
및 timeDimensions
에 대해 TrackedEvents.*
를 사용해야 합니다. Sessions
를 측정할 때도 동일한 규칙이 적용됩니다.추적된 이벤트 예제
{
"query": {
"measures": [
"TrackedEvents.count"
],
"timeDimensions": [
{
"dimension": "TrackedEvents.utcTime",
"dateRange": "이번 주"
}
],
"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에 메타데이터 요청 보내기
Analytics 데이터의 Cube 메타데이터를 반환합니다. 예를 들어 다음과 같습니다:
GET /projects/:id/product_analytics/request/meta
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수 | 예 | 현재 사용자가 읽기 액세스 권한이있는 프로젝트의 ID. |