- 인사이트 보기
- 인사이트 차트와 상호 작용하기
- 프로젝트 인사이트 구성
- 그룹 인사이트 구성
- 인사이트 구성 파일
- 인사이트 구성 매개변수
- 완전한 인사이트 구성 예시
인사이트
- GitLab 12.0에 도입되었습니다.
프로젝트 및 그룹의 인사이트를 구성하여 다음과 같은 데이터를 탐색합니다.
- 지정된 기간 동안 생성 및 종료된 이슈.
- Merge Request이 Merge되기까지의 평균 시간.
- 트리아지 위생.
또한, 귀하의 그룹에 관련된 사용자 정의 인사이트 보고서를 작성할 수 있습니다.
인사이트 보기
사전 요구 사항:
- 프로젝트 인사이트의 경우 프로젝트에 액세스하고 이슈 및 Merge Request에 대한 정보를 보는 권한이 있어야 합니다.
- 그룹 인사이트의 경우 그룹을 볼 수 있는 권한이 있어야 합니다.
프로젝트 또는 그룹의 인사이트를 보려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트 또는 그룹을 찾습니다.
- 분석 > 인사이트를 선택합니다.
- 보고서를 보려면 보고서 선택 드롭다운 디렉터리을 선택합니다.
딥 링크를 사용한 인사이트 보고서 액세스
깊이 연결된 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
파일을 생성하고 변경 사항을 푸시합니다. - 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
- 소개됨 in GitLab 15.3.
데이터를 노출하는 데이터 소스를 정의하기 위해 data_source
를 사용하십시오.
지원되는 값:
-
issuables
: Merge Request 또는 이슈 데이터를 노출합니다. -
dora
: DORA 지표를 노출합니다.
issuable
쿼리 매개변수
query.params.issuable_type
query.params.issuable_type
을 사용하여 차트를 생성할 이슈의 유형을 정의하십시오.
지원되는 값:
-
issue
: 차트에 이슈 데이터가 표시됩니다. -
merge_request
: 차트에 Merge Request 데이터가 표시됩니다.
query.params.issuable_state
조회된 이슈의 현재 상태로 필터링하기 위해 query.params.issuable_state
을 사용하십시오.
기본적으로 opened
상태 필터가 적용됩니다.
지원되는 값:
-
opened
: 오픈된 이슈 또는 Merge Request. -
closed
: 닫힌 이슈 또는 Merge Request. -
locked
: 논의가 잠긴 이슈 또는 Merge Request. -
merged
: Merge된 Merge Request. -
all
: 모든 상태의 이슈 또는 Merge Request.
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
필드를 사용하여 데이터를 그룹화합니다 (Merge Request에 대해서만).
period_field
는 다음과 같이 자동으로 설정됩니다:
-
query.issuable_state
이closed
인 경우closed_at
-
query.issuable_state
이merged
인 경우merged_at
- 그 외에는
created_at
DORA
쿼리 매개변수
- GitLab 15.3에서 도입되었습니다.
dora
데이터 소스를 사용하여 DORA 차트 정의를 만들기 위해 DORA-specific 쿼리를 사용합니다.
예시:
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
DORA 메트릭을 쿼리하기 위해 query.metric
을 사용합니다.
지원되는 값:
-
deployment_frequency
(기본값) lead_time_for_changes
time_to_restore_service
change_failure_rate
query.group_by
차트의 X축을 정의하기 위해 query.group_by
를 사용합니다.
지원되는 값:
-
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: "매월 생성된 버그"
description: "월별로 생성된 오픈된 버그"
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:
- title: "매월 생성된 버그"
description: "월별로 생성된 오픈된 버그"
type: bar
<<: *projectsOnly
query:
data_source: issuables
params:
issuable_type: issue
issuable_state: opened
filter_labels:
- bug
group_by: month
period_limit: 24
- title: "심각도별 주간 버그"
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: "팀별 매월 버그"
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