튜토리얼: 이슈 트리아지를 위해 여러 프로젝트로 구성된 그룹 설정하기
GitLab v19.5Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
요약
이슈 트리아지는 유형과 심각도에 따라 분류하는 과정입니다. 이 튜토리얼에서는 이 시나리오를 위해 여러 프로젝트로 구성된 GitLab 그룹을 설정하는 방법을 알아봅니다. 프로젝트에서 이슈 트리아지를 위해 GitLab을 설정하려면 다음 단계를 따릅니다.
이슈 트리아지는 유형과 심각도에 따라 분류하는 과정입니다. 프로젝트가 성장하고 더 많은 이슈가 생성되면서, 들어오는 이슈를 어떻게 트리아지할지에 대한 워크플로를 만들어 두는 것이 좋습니다.
이 튜토리얼에서는 이 시나리오를 위해 여러 프로젝트로 구성된 GitLab 그룹을 설정하는 방법을 알아봅니다.
프로젝트에서 이슈 트리아지를 위해 GitLab을 설정하려면 다음 단계를 따릅니다.
- 그룹 만들기
- 그룹 안에 프로젝트 만들기
- 유형, 심각도, 우선순위 기준 정하기
- 기준 문서화하기
- 스코프 레이블 만들기
- 새 레이블 우선순위 지정하기
- 그룹 이슈 트리아지 보드 만들기
- 기능 이슈 만들기
시작하기 전에#
- 이 튜토리얼에 기존 프로젝트를 사용하는 경우, 해당 프로젝트에 대해 Reporter, Developer, Maintainer, Owner 권한이 있는지
확인합니다.
- 기존 프로젝트에 상위 그룹이 없다면 그룹을 만들고 프로젝트 레이블을 그룹 레이블로 승격합니다.
그룹 만들기#
그룹은 본질적으로 여러 프로젝트를 담는 컨테이너입니다. 그룹을 사용하면 여러 프로젝트를 관리하고 그룹 구성원과 한 번에 소통할 수 있습니다.
새 그룹을 만들려면 다음 단계를 따릅니다.
- 오른쪽 상단에서 Create new(+)를 선택하고 New group을 선택합니다.
- Create group을 선택합니다.
- 그룹 세부 정보를 입력합니다.
- Group name에
triage-tutorial을 입력합니다.
- Group name에
- 페이지 하단의 Create group을 선택합니다.
그룹 안에 프로젝트 만들기#
여러 프로젝트에서 이슈 트래킹을 관리하려면 그룹 안에 프로젝트를 최소 두 개 만들어야 합니다.
새 프로젝트를 만들려면 다음 단계를 따릅니다.
- 오른쪽 상단에서 Create new(+)를 선택하고 New project/repository를 선택합니다.
- Create blank project를 선택합니다.
- 프로젝트 세부 정보를 입력합니다.
- Project name에
test-project-1을 입력합니다. 자세한 내용은 프로젝트 이름 지정 규칙을 참고합니다.
- Project name에
- 페이지 하단의 Create project를 선택합니다.
- 이 과정을 반복해
test-project-2라는 이름의 두 번째 프로젝트를 만듭니다.
유형, 심각도, 우선순위 기준 정하기#
다음으로 아래 사항을 정해야 합니다.
- 인식하고자 하는 이슈의 유형. 더 세분화된 접근이 필요하다면 각 유형에 대한 하위 유형도 만들 수 있습니다. 유형은 작업을 분류해 팀에 요청되는 작업의 종류를 파악하는 데 도움이 됩니다.
- 들어오는 작업이 최종 사용자에게 미치는 영향을 정의하고 우선순위 지정을 돕기 위한 우선순위와 심각도 수준.
이 튜토리얼에서는 다음과 같이 정했다고 가정합니다.
- 유형:
Bug,Feature,Maintenance - 우선순위:
1,2,3,4 - 심각도:
1,2,3,4
참고할 만한 예시로 GitLab 이 이를 어떻게 정의하는지 확인합니다.
기준 문서화하기#
모든 기준에 합의했다면, 팀원이 언제든 접근할 수 있는 곳에 전부 기록해 둡니다.
예를 들어 프로젝트의 위키에 추가하거나, GitLab Pages로 게시한 회사 핸드북에 추가합니다.
스코프 레이블 만들기#
다음으로 이슈를 분류하기 위해 이슈에 추가할 레이블을 만듭니다.
이를 위한 가장 좋은 도구는 스코프 레이블이며, 이를 사용해 상호 배타적인 속성을 설정할 수 있습니다.
앞서 정리한 유형, 심각도, 우선순위 목록을 확인하면서 그에 맞는 스코프 레이블을 만듭니다.
스코프 레이블 이름의 이중 콜론(::)은 같은 스코프의 레이블 두 개가 함께 사용되는 것을 방지합니다.
예를 들어 이미 type::bug 레이블이 있는 이슈에 type::feature 레이블을 추가하면 기존 레이블이 제거됩니다.
스코프 레이블은 Premium, Ultimate 등급에서 사용할 수 있습니다. Free 등급이라면 대신 일반 레이블을 사용할 수 있습니다. 단, 일반 레이블은 상호 배타적이지 않습니다.
각 레이블을 만들려면 다음 단계를 따릅니다.
- 상단 바에서 Search or go to를 선택하고 그룹을 찾습니다.
- 왼쪽 사이드바에서 Manage > Labels를 선택합니다.
- New label을 선택합니다.
- Title 텍스트 상자에 레이블 이름을 입력합니다.
type::bug부터 시작합니다. - 선택 사항. 사용 가능한 색상 중 하나를 선택하거나, Background color 텍스트 상자에 원하는 색상의 16진수 색상값을 입력합니다.
- Create label을 선택합니다.
3~6단계를 반복해 필요한 레이블을 모두 만듭니다. 예시는 다음과 같습니다.
type::bugtype::featuretype::maintenancepriority::1priority::2priority::3priority::4severity::1severity::2severity::3severity::4
새 레이블 우선순위 지정하기#
이제 새 레이블을 우선순위 레이블로 설정합니다. 이렇게 하면 우선순위나 레이블 우선순위로 정렬할 때 가장 중요한 이슈가 이슈 목록 상단에 표시됩니다.
우선순위나 레이블 우선순위로 정렬할 때 어떤 일이 일어나는지 알아보려면 이슈 목록 정렬 및 순서 지정을 참고합니다.
레이블의 우선순위를 지정하려면 다음 단계를 따릅니다.
- Labels 페이지에서 우선순위를 지정할 레이블 옆의 Prioritize([star-o])를 선택합니다. 이 레이블은 이제 Prioritized labels 아래, 레이블 목록 맨 위에 표시됩니다.
- 이 레이블들의 상대적 우선순위를 변경하려면 목록에서 위아래로 드래그합니다. 목록에서 위에 있을수록 우선순위가 높습니다.
- 앞서 만든 모든 레이블의 우선순위를 지정합니다. 우선순위와 심각도 값이 높은 레이블이 낮은 값의 레이블보다 목록 위쪽에 오도록 합니다.

그룹 이슈 트리아지 보드 만들기#
들어오는 이슈 백로그에 대비하기 위해 레이블별로 이슈를 정리하는 이슈 보드를 만듭니다. 이 보드를 사용하면 카드를 여러 목록으로 드래그해 이슈를 빠르게 만들고 레이블을 추가할 수 있습니다.
이슈 보드를 설정하려면 다음 단계를 따릅니다.
- 보드의 범위를 정합니다. 예를 들어 이슈에 심각도를 지정하는 데 사용할 그룹 이슈 보드를 만듭니다.
- 상단 바에서 Search or go to를 선택하고 triage-tutorial 그룹을 찾습니다.
- Plan > Issue boards를 선택합니다.
- 이슈 보드 페이지의 왼쪽 상단에서 현재 보드 이름이 표시된 드롭다운 목록을 선택합니다.
- Create new board를 선택합니다.
- Title 텍스트 상자에
Issue triage (by severity)를 입력합니다. - Show the Open list 체크박스는 선택된 상태로 두고 Show the Closed list 체크박스는 선택 해제합니다.
- Create board를 선택합니다. 빈 보드가 표시됩니다.
severity::1레이블에 대한 목록을 만듭니다.- 이슈 보드 페이지의 오른쪽 상단에서 Create list를 선택합니다.
- 표시되는 열에서 Value 드롭다운 목록에서
severity::1레이블을 선택합니다. - 목록 하단에서 Add to board를 선택합니다.
severity::2,severity::3,severity::4레이블에 대해서도 이전 단계를 반복합니다.
지금은 보드의 목록이 비어 있을 것입니다. 다음으로 이슈를 채워 넣어 보겠습니다.
기능 이슈 만들기#
예정된 기능과 버그를 추적하려면 이슈를 만들어야 합니다. 이슈는 프로젝트에 속하지만, 그룹 이슈 보드에서 바로 만들 수도 있습니다.
먼저 계획된 기능에 대한 이슈를 몇 개 만드는 것으로 시작합니다. 버그 이슈는 발견할 때마다 만들 수 있습니다(너무 많지 않기를 바랍니다).
Issue triage (by severity) 보드에서 이슈를 만들려면 다음 단계를 따릅니다.
-
Open 목록으로 이동합니다. 이 목록에는 다른 보드 목록에 속하지 않는 이슈가 표시됩니다. 이슈에 지정할 심각도 레이블을 이미 알고 있다면 해당 레이블의 목록에서 바로 만들 수 있습니다. 레이블 목록에서 만든 이슈에는 해당 레이블이 자동으로 지정된다는 점에 유의합니다.
지금은 Open 목록으로 진행합니다.
-
Open 목록에서 Create new issue 아이콘(+)을 선택합니다.
-
필드를 작성합니다.
- Title에
User registration을 입력합니다. - 이 이슈가 속할 프로젝트를 선택합니다. 이 예시에서는
test-project-1을 사용합니다.
- Title에
-
Create issue를 선택합니다.
-
이 단계를 반복해 이슈를 몇 개 더 만듭니다.
예를 들어 앱을 만들고 있다면
test-project-1과test-project-2가 각각 애플리케이션의 백엔드와 프론트엔드를 가리킨다고 가정합니다. 다음 이슈를 만들고 적절하다고 생각되는 프로젝트에 할당합니다.User registrationProfile creationSearch functionalityAdd to favoritesPush notificationsSocial sharingIn-app messagingTrack progressFeedback and ratingsSettings and preferences
이제 첫 번째 트리아지 이슈 보드가 준비됐습니다. Open 목록에서 레이블 목록 중 하나로 이슈를 드래그해 심각도 레이블을 추가해 봅니다.

다음 단계#
다음으로 다음과 같은 작업을 할 수 있습니다.
-
이슈 보드 사용 방식을 조정합니다. 다음과 같은 옵션이 있습니다.
- 현재 이슈 보드를 수정해 우선순위와 유형 레이블에 대한 목록도 추가합니다. 이렇게 하면 보드가 넓어지고 가로 스크롤이 필요할 수 있습니다.
Issue triage (by priority),Issue triage (by type)라는 이름의 별도 이슈 보드를 만듭니다. 이렇게 하면 여러 유형의 트리아지 작업을 분리할 수 있지만 보드 간 전환이 필요합니다.- 팀 인계를 위한 이슈 보드 설정.
-
이슈 목록에서 각 레이블로 필터링해 우선순위나 심각도별로 이슈를 확인합니다. 사용할 수 있다면 "is one of" 필터 연산자를 활용합니다.
-
이슈를 태스크로 세분화합니다.
-
gitlab-triagegem을 사용해 프로젝트에서 이슈 트리아지를 자동화하는 데 도움이 되는 정책을 만듭니다. 다음과 같은 히트맵으로 요약 보고서를 생성합니다.