Insights
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
Insights는 월별 항목(예: 생성된 버그) 수를 표시하는 대화형 막대 차트입니다. Insights를 구성하고 프로젝트 및 그룹에 대한 사용자 정의 보고서를 만들어 다음과 같은 데이터를 탐색합니다: 프로젝트 또는 그룹에 대한 Insights를 보려면:
Insights는 월별 항목(예: 생성된 버그) 수를 표시하는 대화형 막대 차트입니다.
Insights를 구성하고 프로젝트 및 그룹에 대한 사용자 정의 보고서를 만들어 다음과 같은 데이터를 탐색합니다:
- 지정된 기간 동안 생성 및 종료된 이슈.
- 머지 리퀘스트 병합에 걸리는 평균 시간.
- 분류 위생.
Insights 보기#
사전 요구 사항:
- 프로젝트 Insights의 경우 프로젝트에 대한 액세스 권한과 머지 리퀘스트 및 이슈에 대한 정보를 볼 수 있는 권한이 있어야 합니다.
- 그룹 Insights의 경우 그룹을 볼 수 있는 권한이 있어야 합니다.
프로젝트 또는 그룹에 대한 Insights를 보려면:
- 상단 메뉴에서 검색 또는 이동을 선택하고 프로젝트 또는 그룹을 찾습니다.
- 왼쪽 사이드바에서 분석 > Insights를 선택합니다.
- 보고서를 보려면 보고서 선택 드롭다운 목록에서 보려는 보고서를 선택합니다. 주석을 보려면 차트의 각 막대 위에 마우스를 올립니다.
- 선택 사항. 결과를 필터링합니다:
- 90일 범위의 하위 집합에서만 데이터를 표시하려면 일시정지 아이콘([status-paused])을 선택하고 가로 축을 따라 슬라이드합니다.
- 차트에서 차원을 제외하려면 차트 아래의 범례에서 차원 이름을 선택합니다.
차트 드릴다운#
히스토리
- Introduced in GitLab 16.7.
- Changed to extend support to all
issuablescharts in GitLab 16.9.
query.data_source가 issuables인 모든 차트의 데이터를 드릴다운할 수 있습니다.
한 달의 특정 우선순위 또는 심각도에 대한 데이터의 드릴다운 보고서를 보려면:
- 차트에서 드릴다운하려는 막대 스택을 선택합니다.
보고서 딥 링크 만들기#
딥 링크 URL을 사용하여 사용자를 Insights의 특정 보고서로 안내할 수 있습니다.
딥 링크를 만들려면 보고서 키를 Insights 보고서 URL 끝에 추가합니다. 예를 들어 키가 bugsCharts인 GitLab 보고서의 딥 링크 URL은 https://gitlab.com/gitlab-org/gitlab/insights/#/bugsCharts입니다.
구성#
기본 파일#
GitLab은 기본 구성 파일에서 Insights를 읽습니다.
프로젝트 Insights는 프로젝트의 .gitlab/insights.yml 파일로 구성됩니다. 프로젝트에 구성 파일이 없으면 그룹 구성을 사용합니다.
.gitlab/insights.yml 파일은 다음을 정의하는 YAML 파일입니다:
- 보고서의 차트 구조 및 순서.
- 프로젝트 또는 그룹의 보고서에 표시되는 차트 스타일.
.gitlab/insights.yml 파일에서:
- 구성 매개변수는 차트 동작을 정의합니다.
- 각 보고서에는 고유한 키와 가져오고 표시할 차트 모음이 있습니다.
- 각 차트 정의는 키-값 쌍으로 구성된 해시로 이루어집니다.
예시#
다음 예시는 하나의 차트가 있는 보고서를 표시하는 단일 정의를 보여줍니다:
bugsCharts:
title: "Charts for bugs"
charts:
- 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
group_by: month
period_limit: 24
다음 예시는 세 개의 차트를 표시하는 .gitlab/insights.yml 파일의 전체 구성을 보여줍니다:
.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
매개변수#
다음 표에는 차트 매개변수가 나열되어 있습니다:
| 키워드 | 설명 |
|---|---|
title |
차트의 제목. Insights 페이지에 표시됩니다. |
description |
개별 차트에 대한 설명. 관련 차트 위에 표시됩니다. |
type |
차트 유형: bar, line 또는 stacked-bar. |
query |
차트의 데이터 소스 및 필터링 조건을 정의하는 해시. |
title#
title을 사용하여 차트 제목을 업데이트합니다. 제목은 Insights 보고서에 표시됩니다.
예시:
monthlyBugsCreated:
title: "Monthly bugs created"
description#
description을 사용하여 차트 설명을 추가합니다. 설명은 차트 위, 제목 아래에 표시됩니다.
예시:
monthlyBugsCreated:
title: "Monthly bugs created"
description: "Open bugs created per month"
type#
type을 사용하여 차트 유형을 정의합니다.
지원되는 값:
| 이름 | 예시 |
|---|---|
bar |
![]() |
bar (group_by가 있는 시계열) |
![]() |
line |
![]() |
stacked-bar |
![]() |
dora 데이터 소스는 bar 및 line 차트 유형을 지원합니다.
예시:
monthlyBugsCreated:
title: "Monthly bugs created"
type: bar
query#
query를 사용하여 차트의 데이터 소스 및 필터링 조건을 정의합니다.
예시:
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
collection_labels:
- S1
- S2
- S3
- S4
group_by: week
period_limit: 104
data_source 매개변수가 없는 레거시 형식도 지원됩니다:
monthlyBugsCreated:
title: "Monthly bugs created"
description: "Open bugs created per month"
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을 사용하여 차트를 만들 issuable 유형을 정의합니다.
지원되는 값:
issue: 차트에 이슈 데이터가 표시됩니다.merge_request: 차트에 머지 리퀘스트 데이터가 표시됩니다.
query.params.issuable_state
query.params.issuable_state를 사용하여 쿼리된 issuable의 현재 상태로 필터링합니다.
기본적으로 opened 상태 필터가 적용됩니다.
지원되는 값:
opened: 오픈된 이슈 또는 머지 리퀘스트.closed: 종료된 이슈 또는 머지 리퀘스트.locked: 토론이 잠긴 이슈 또는 머지 리퀘스트.merged: 병합된 머지 리퀘스트.all: 모든 상태의 이슈 또는 머지 리퀘스트.
query.params.filter_labels
query.params.filter_labels를 사용하여 쿼리된 issuable에 적용된 레이블로 필터링합니다.
기본적으로 레이블 필터는 적용되지 않습니다. 선택을 위해 정의된 모든 레이블이 issuable에 적용되어야 합니다.
예시:
monthlyBugsCreated:
title: "Monthly regressions created"
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를 사용하여 구성된 레이블로 issuable을 그룹화합니다. 기본적으로 그룹화는 적용되지 않습니다.
예시:
weeklyBugsBySeverity:
title: "Weekly bugs by severity"
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를 사용하여 issuable을 쿼리할 과거 시간을 정의합니다(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를 사용하여 issuable을 그룹화할 타임스탬프 필드를 정의합니다.
지원되는 값:
created_at(기본값):created_at필드를 사용하여 데이터를 그룹화합니다.closed_at:closed_at필드를 사용하여 데이터를 그룹화합니다(이슈만 해당).merged_at:merged_at필드를 사용하여 데이터를 그룹화합니다(머지 리퀘스트만 해당).
period_field는 자동으로 다음으로 설정됩니다:
query.issuable_state가closed인 경우closed_atquery.issuable_state가merged인 경우merged_at- 그 외의 경우
created_at
이 버그가 해결될 때까지 merged_at 대신 created_at이 표시될 수 있습니다. created_at이 대신 사용됩니다.
DORA 쿼리 매개변수#
dora 데이터 소스와 함께 DORA 특정 쿼리를 사용하여 DORA 차트 정의를 만듭니다.
예시:
dora:
title: "DORA charts"
charts:
- title: "DORA deployment frequency"
type: bar # or line
query:
data_source: dora
params:
metric: deployment_frequency
group_by: day
period_limit: 10
projects:
only:
- 38
- title: "DORA lead time for changes"
description: "DORA lead time for changes"
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 메트릭을 정의합니다.
지원되는 값:
deployment_frequency(기본값)lead_time_for_changestime_to_restore_servicechange_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(기본값)stagingtestingdevelopmentother
projects#
projects를 사용하여 issuable이 쿼리되는 위치를 제한합니다:
- 그룹의 Insights에
.gitlab/insights.yml을 사용하는 경우,projects를 사용하여 issuable을 쿼리할 프로젝트를 정의합니다. 기본적으로 그룹 아래의 모든 프로젝트가 사용됩니다. - 프로젝트의 Insights에
.gitlab/insights.yml을 사용하는 경우, 다른 프로젝트를 지정해도 결과가 나오지 않습니다. 기본적으로 해당 프로젝트가 사용됩니다.
projects.only#
projects.only를 사용하여 issuable이 쿼리되는 프로젝트를 지정합니다.
이 매개변수에 나열된 프로젝트는 다음 경우에 무시됩니다:
- 존재하지 않는 경우.
- 현재 사용자가 읽을 수 있는 충분한 권한이 없는 경우.
- 그룹 외부에 있는 경우.
예시:
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 # You can use the project ID
- groupA/projectA # Or full project path
- groupA/subgroupB/projectC # Projects in subgroups can be included
- groupB/project # Projects outside the group will be ignored
Insights 구성#
프로젝트와 그룹에 대한 Insights를 구성할 수 있습니다. 프로젝트에 .gitlab/insights.yml 파일을 만든 후 프로젝트 그룹에도 사용할 수 있습니다.
사용자 정의 .gitlab/insights.yml 파일은 기본 구성을 재정의합니다. 원래 구성을 유지하려면 기본 구성 파일의 내용을 기본으로 복사합니다.
프로젝트의 경우#
사전 요구 사항:
- 프로젝트에 대한 개발자, 유지 관리자 또는 소유자 역할이 있어야 합니다.
프로젝트 Insights를 구성하려면 다음 방법 중 하나로 .gitlab/insights.yml 파일을 만듭니다:
- 로컬에서, 프로젝트의 루트 디렉토리에 만들고 변경 사항을 푸시합니다.
- UI에서:
- 상단 메뉴에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 파일 목록 위에서 커밋할 브랜치를 선택하고, 더하기 아이콘을 선택한 다음 새 파일을 선택합니다.
- 파일 이름에
.gitlab/insights.yml을 입력합니다. - 파일 편집기에 구성을 입력합니다. 구성 예시를 참조하세요.
- 변경 사항 커밋을 선택합니다.
그룹의 경우#
사전 요구 사항:
- 그룹의 프로젝트에
.gitlab/insights.yml파일이 있어야 합니다.
그룹 Insights를 구성하려면:
- 상단 메뉴에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
- 왼쪽 사이드바에서 설정 > 분석을 선택합니다.
- Insights 섹션에서
.gitlab/insights.yml구성 파일이 포함된 프로젝트를 선택합니다. - 변경 사항 저장을 선택합니다.




