- 통찰력 보기
- 통찰력 차트 상호 작용
- 프로젝트 통찰력 구성
- 그룹 통찰력 구성
- 통찰력 구성 파일
- 통찰력 구성 매개변수
- 완전한 인사이트 구성 예시
통찰력
프로젝트 및 그룹의 통찰력을 구성하여 다음과 같은 데이터를 탐색할 수 있습니다.
- 지정된 기간 동안 생성 및 완료된 이슈.
- 병합 요청이 병합되기까지의 평균 시간.
- 트리아지 위생.
또한 그룹에 관련된 사용자 정의 통찰력 보고서를 생성할 수도 있습니다.
통찰력 보기
전제 조건:
- 프로젝트 통찰력의 경우 프로젝트에 액세스하고 해당 병합 요청 및 이슈에 대한 정보를 볼 수 있는 권한이 있어야 합니다.
- 그룹 통찰력의 경우 그룹을 볼 수 있는 권한이 있어야 합니다.
프로젝트 또는 그룹의 통찰력 보기 방법:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트 또는 그룹을 찾습니다.
- 분석 > 통찰력을 선택합니다.
- 보고서를 보려면 보고서 선택 드롭다운 목록을 선택합니다.
딥 링크를 사용하여 통찰력 보고서에 액세스
딥 링크 URL을 사용하여 특정 보고서로 사용자를 안내할 수 있습니다.
딥 링크를 생성하려면 보고서 키를 통찰력 보고서 URL의 끝에 추가합니다.
예를 들어, bugsCharts
키를 가진 GitLab 보고서는 딥 링크 URL https://gitlab.com/gitlab-org/gitlab/insights/#/bugsCharts
를 가집니다.
통찰력 차트 상호 작용
그룹의 활동에 대한 세부 정보를 확인하려면 통찰력 차트와 상호 작용할 수 있습니다.
다른 보고서 표시
통찰력 페이지에서 사용 가능한 보고서 중 하나를 표시하려면 보고서 선택 드롭다운 목록에서 원하는 보고서를 선택합니다.
막대 차트 주석 보기
주석을 보려면 차트의 각 막대 위로 마우스를 가져갑니다.
차트 확대
통찰력은 최근 90일간의 데이터를 표시합니다. 90일 범위의 하위 집합에서만 데이터를 표시하려면 확대할 수 있습니다.
이를 위해 일시 중지 아이콘()을 선택하고 수평축을 따라 이동시킵니다.
- 시작 날짜를 변경하려면 왼쪽 일시 중지 아이콘을 왼쪽이나 오른쪽으로 슬라이드합니다.
- 종료 날짜를 변경하려면 오른쪽 일시 중지 아이콘을 왼쪽이나 오른쪽으로 슬라이드합니다.
차트에서 치수 제외
기본적으로 통찰력은 차트에서 사용 가능한 모든 차원을 표시합니다.
차원을 제외하려면 차트 아래의 범례에서 차원의 이름을 선택합니다.
차트 드릴다운
- GitLab 16.7에 도입됨.
- GitLab 16.9에서 모든
issuables
차트에 대한 지원을 확대했음.
query.data_source
가 issuables
인 모든 차트의 데이터를 상세히 살펴볼 수 있습니다.
특정 우선 순위 또는 심각도의 데이터에 대한 드릴다운 보고서를 월별로 보려면:
- 차트에서 드릴다운을 원하는 막대 스택을 선택합니다.
프로젝트 통찰력 구성
전제 조건:
- 프로젝트 구성에 따라 적어도 Developer 역할이 있어야 합니다.
프로젝트 통찰력은 프로젝트의 .gitlab/insights.yml
파일로 구성됩니다. 프로젝트에 구성 파일이 없는 경우 그룹 구성을 사용합니다.
.gitlab/insights.yml
파일은 프로젝트 또는 그룹의 보고서에 표시할 차트 구조 및 순서, 보고서의 차트 스타일을 정의하는 YAML 파일입니다.
프로젝트 통찰력을 구성하려면 다음 중 하나를 만듭니다:
- 로컬로 프로젝트의 루트 디렉터리에
.gitlab/insights.yml
파일을 생성하고 변경 사항을 push합니다. - UI를 통해:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 파일 목록 위에서 커밋할 브랜치를 선택하고 플러스 아이콘을 선택한 다음 새 파일을 선택합니다.
-
파일 이름 텍스트 상자에
.gitlab/insights.yml
을 입력합니다. - 큰 텍스트 상자에 파일 내용을 업데이트합니다.
- 변경 사항 커밋을 선택합니다.
구성 파일을 만든 후에는 프로젝트 그룹에도 사용할 수 있습니다.
그룹 통찰력 구성
GitLab은 기본 구성 파일에서 통찰력을 읽습니다.
그룹 통찰력을 구성하려면:
- 당신의 그룹에 속한 프로젝트에서 .gitlab/insights.yml` 파일 생성합니다.
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
- 설정 > 일반을 선택합니다.
- 분석을 확장하고 통찰력 섹션을 찾습니다.
-
.gitlab/insights.yml
구성 파일을 포함한 프로젝트를 선택합니다. - 변경 사항 저장을 선택합니다.
통찰력 구성 파일
.gitlab/insights.yml
파일에는 다음이 포함됩니다:
- 구성 매개변수는 차트 동작을 정의합니다.
- 각 보고서에는 고유한 키와 검색 및 표시할 차트 모음이 있습니다.
- 각 차트 정의는 키-값 쌍으로 이루어진 해시로 구성됩니다.
다음 예는 하나의 차트를 표시하는 보고서를 표시하는 단일 정의를 보여줍니다.
bugsCharts:
title: "버그 차트"
charts:
- title: "월간 생성된 버그"
description: "월별로 생성된 버그"
type: bar
query:
data_source: issuables
params:
issuable_type: issue
issuable_state: opened
filter_labels:
- bug
group_by: month
period_limit: 24
통찰력 구성 매개변수
다음 표는 차트 매개변수를 나열합니다:
키워드 | 설명 |
---|---|
title
| 차트의 제목. 이것은 통찰력 페이지에 표시됩니다. |
description
| 각 차트에 대한 설명. 관련 차트 위에 표시됩니다. |
type
| 차트 유형: bar , line , 또는 stacked-bar 입니다.
|
query
| 차트의 데이터 소스와 필터링 조건을 정의하는 해시입니다. |
title
title
을 사용하여 차트 제목을 업데이트합니다. 이 제목은 통찰력 보고서에 표시됩니다.
예시:
monthlyBugsCreated:
title: "월간 생성된 버그"
description
description
를 사용하여 차트에 설명을 추가합니다. 이 설명은 제목 아래에 차트 위에 표시됩니다.
예시:
monthlyBugsCreated:
title: "월간 버그 생성량"
description: "월별 생성된 오픈된 버그"
type
type
을 사용하여 차트 유형을 정의합니다.
지원되는 값:
이름 | 예시: |
---|---|
bar
| |
bar (시계열, group_by 가 사용될 때)
| |
line
| |
stacked-bar
|
dora
데이터 소스는 bar
및 line
차트 유형을 지원합니다.
예시:
monthlyBugsCreated:
title: "월간 버그 생성량"
type: bar
query
query
를 사용하여 차트의 데이터 소스와 필터링 조건을 정의합니다.
예시:
monthlyBugsCreated:
title: "월간 버그 생성량"
description: "월별 생성된 오픈된 버그"
type: bar
query:
data_source: issuables
params:
issuable_type: issue
issuable_state: opened
filter_labels:
- bug
collection_labels:
- S1
- S2
- S3
- S4
group_by: week
period_limit: 104
data_source
매개변수 없이 구성된 레거시 형식도 여전히 지원됩니다:
monthlyBugsCreated:
title: "월간 버그 생성량"
description: "월별 생성된 오픈된 버그"
type: bar
query:
issuable_type: issue
issuable_state: opened
filter_labels:
- bug
collection_labels:
- S1
- S2
- S3
- S4
group_by: week
period_limit: 104
query.data_source
data_source
를 사용하여 데이터를 노출하는 데이터 소스를 정의합니다.
지원되는 값:
-
issuables
: 병합 요청 또는 이슈 데이터를 노출합니다. -
dora
: DORA 메트릭을 노출합니다.
issuable
쿼리 매개변수
query.params.issuable_type
query.params.issuable_type
을 사용하여 차트를 생성할 이슈 유형을 정의합니다.
지원되는 값:
-
issue
: 차트에 이슈 데이터가 표시됩니다. -
merge_request
: 차트에 병합 요청 데이터가 표시됩니다.
query.params.issuable_state
query.params.issuable_state
을 사용하여 쿼리된 이슈 상태에 따라 필터링합니다.
기본적으로, opened
상태 필터가 적용됩니다.
지원되는 값:
-
opened
: 오픈된 이슈 또는 병합 요청. -
closed
: 닫힌 이슈 또는 병합 요청. -
locked
: 토론이 잠긴 이슈 또는 병합 요청. -
merged
: 병합된 병합 요청. -
all
: 모든 상태의 이슈 또는 병합 요청.
query.params.filter_labels
query.params.filter_labels
를 사용하여 쿼리된 이슈에 적용된 라벨로 필터링합니다.
기본적으로 라벨 필터가 적용되지 않습니다. 모든 정의된 라벨이 이슈에 적용되어야 합니다.
예시:
monthlyBugsCreated:
title: "월간 리그레션 생성량"
type: bar
query:
data_source: issuables
params:
issuable_type: issue
issuable_state: opened
filter_labels:
- bug
- regression
query.params.collection_labels
query.params.collection_labels
을 사용하여 구성된 라벨별로 이슈를 그룹화합니다.
기본적으로 그룹화가 적용되지 않습니다.
예시:
weeklyBugsBySeverity:
title: "주간 심각도별 버그"
type: stacked-bar
query:
data_source: issuables
params:
issuable_type: issue
issuable_state: opened
filter_labels:
- bug
collection_labels:
- S1
- S2
- S3
- S4
query.group_by
query.group_by
를 사용하여 차트의 X-축을 정의합니다.
지원되는 값:
-
day
: 일별로 데이터를 그룹화합니다. -
week
: 주별로 데이터를 그룹화합니다. -
month
: 월별로 데이터를 그룹화합니다.
query.period_limit
query.period_limit
을 사용하여 이슈를 쿼리하는 시간 범위를 정의합니다 (query.period_field
를 사용).
단위는 query.group_by
에서 정의된 값과 관련이 있습니다. 예를 들어, query.group_by: 'day'
및 query.period_limit: 365
로 정의하면 차트는 최근 365일간의 데이터를 표시합니다.
기본적으로, 정의한 query.group_by
에 따라 기본값이 적용됩니다.
query.group_by
| 기본값 |
---|---|
day
| 30 |
week
| 4 |
month
| 12 |
query.period_field
query.period_field
를 사용하여 이슈를 그룹화하는 타임스탬프 필드를 정의합니다.
지원되는 값:
-
created_at
(기본값):created_at
필드를 사용하여 데이터를 그룹화합니다. -
closed_at
:closed_at
필드를 사용하여 데이터를 그룹화합니다 (이슈 전용). -
merged_at
:merged_at
필드를 사용하여 데이터를 그룹화합니다 (병합 요청 전용).
period_field
는 자동으로 설정됩니다:
-
query.issuable_state
가closed
인 경우closed_at
. -
query.issuable_state
가merged
인 경우merged_at
. - 그 외에는
created_at
.
참고:
이 버그가 해결될 때까지,
merged_at
대신에 created_at
이 표시될 수 있습니다. created_at
이 대신 사용됩니다.
DORA
쿼리 매개변수
dora
데이터 소스를 사용하여 DORA 차트 정의를 만들기 위해 DORA 특정 쿼리를 사용합니다.
예시:
dora:
title: "DORA 차트"
charts:
- title: "DORA 배포 빈도"
type: bar # 또는 line
query:
data_source: dora
params:
metric: deployment_frequency
group_by: day
period_limit: 10
projects:
only:
- 38
- title: "DORA 변경의 리드 타임"
description: "DORA 변경의 리드 타임"
type: bar
query:
data_source: dora
params:
metric: lead_time_for_changes
group_by: day
environment_tiers:
- staging
period_limit: 30
query.metric
query.metric
을 사용하여 DORA metrics를 쿼리할 지표를 정의합니다.
지원되는 값:
-
deployment_frequency
(기본값) lead_time_for_changes
time_to_restore_service
change_failure_rate
query.group_by
query.group_by
를 사용하여 차트의 X축을 정의합니다.
지원되는 값:
-
day
(기본값): 매일 데이터를 그룹화합니다. -
month
: 매월 데이터를 그룹화합니다.
query.period_limit
query.period_limit
을 사용하여 과거에 대한 지표를 조회하는 기간을 정의합니다 (기본값: 15). 최대 기간은 180일 또는 6개월입니다.
query.environment_tiers
query.environment_tiers
를 사용하여 계산에 포함할 환경의 배열을 정의합니다.
지원되는 값:
-
production
(기본값) staging
testing
development
other
projects
projects
를 사용하여 이슈를 쿼리할 프로젝트를 제한합니다:
-
.gitlab/insights.yml
이 그룹의 인사이트에 사용되는 경우,projects
를 사용하여 이슈를 쿼리할 프로젝트를 정의합니다. 기본적으로 그룹 내의 모든 프로젝트가 사용됩니다. -
.gitlab/insights.yml
이 프로젝트의 인사이트에 사용되는 경우, 다른 프로젝트를 지정해도 결과가 생성되지 않습니다. 기본적으로 프로젝트가 사용됩니다.
projects.only
projects.only
를 사용하여 쿼리할 이슈가 있는 프로젝트를 지정합니다.
이 매개변수에 나열된 프로젝트는 다음 조건에서 무시됩니다:
- 존재하지 않을 경우.
- 현재 사용자가 읽기에 충분한 권한이 없을 경우.
- 그룹 외부에 있을 경우.
예시:
monthlyBugsCreated:
title: "Monthly bugs created"
description: "Open bugs created per month"
type: bar
query:
data_source: issuables
params:
issuable_type: issue
issuable_state: opened
filter_labels:
- bug
projects:
only:
- 3 # 프로젝트 ID를 사용할 수 있습니다
- groupA/projectA # 전체 프로젝트 경로를 사용할 수 있습니다
- groupA/subgroupB/projectC # 하위 그룹의 프로젝트를 포함할 수 있습니다
- groupB/project # 그룹 외부의 프로젝트는 무시됩니다
완전한 인사이트 구성 예시
.projectsOnly: &projectsOnly
projects:
only:
- 3
- groupA/projectA
- groupA/subgroupB/projectC
bugsCharts:
title: "Charts for bugs"
charts:
- title: "Monthly bugs created"
description: "Open bugs created per month"
type: bar
<<: *projectsOnly
query:
data_source: issuables
params:
issuable_type: issue
issuable_state: opened
filter_labels:
- bug
group_by: month
period_limit: 24
- title: "Weekly bugs by severity"
type: stacked-bar
<<: *projectsOnly
query:
data_source: issuables
params:
issuable_type: issue
issuable_state: opened
filter_labels:
- bug
collection_labels:
- S1
- S2
- S3
- S4
group_by: week
period_limit: 104
- title: "Monthly bugs by team"
type: line
<<: *projectsOnly
query:
data_source: issuables
params:
issuable_type: merge_request
issuable_state: opened
filter_labels:
- bug
collection_labels:
- Manage
- Plan
- Create
group_by: month
period_limit: 24