튜토리얼: 이슈 트리아지를 위한 프로젝트 설정
GitLab v19.5Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
요약
이슈 트리아지는 유형과 심각도에 따라 분류하는 프로세스입니다. 이 튜토리얼에서는 이를 위해 GitLab 프로젝트를 설정하는 방법을 배웁니다. 프로젝트에서 이슈 트리아지를 위해 GitLab을 설정하려면 다음을 진행합니다.
이슈 트리아지는 유형과 심각도에 따라 분류하는 프로세스입니다. 프로젝트가 성장하고 사람들이 이슈를 더 많이 생성함에 따라, 들어오는 이슈를 트리아지하는 방법에 대한 워크플로를 만들어 두는 것이 좋습니다.
이 튜토리얼에서는 이를 위해 GitLab 프로젝트를 설정하는 방법을 배웁니다.
프로젝트에서 이슈 트리아지를 위해 GitLab을 설정하려면 다음을 진행합니다.
시작하기 전에#
- 이 튜토리얼에 기존 프로젝트를 사용하는 경우, 해당 프로젝트에 대해 Reporter, Developer, Maintainer, Owner 권한 중 하나를 보유하고 있는지 확인합니다.
- 아래 단계를 따른 뒤 나중에 프로젝트의 상위 그룹을 만들기로 결정하는 경우, 레이블을 최대한 활용하려면 프로젝트 레이블을 그룹 레이블로 승격해야 합니다. 먼저 그룹을 만드는 것을 고려합니다.
프로젝트 생성#
프로젝트에는 예정된 코드 변경을 계획하는 데 사용하는 이슈가 포함됩니다.
이미 작업 중인 프로젝트가 있다면 유형, 심각도, 우선순위 기준 결정으로 진행합니다.
빈 프로젝트를 생성하려면 다음을 진행합니다.
- 오른쪽 상단 모서리에서 Create new(+)와 New project/repository를 선택합니다.
- Create blank project를 선택합니다.
- 프로젝트 세부 정보를 입력합니다.
- Project name에
Issue triage tutorial을 입력합니다.
- Project name에
- Create project를 선택합니다.
유형, 심각도, 우선순위 기준 결정#
다음으로 아래 사항을 결정해야 합니다.
- 인식하려는 이슈의 유형. 더 세분화된 접근이 필요하면 유형별로 하위 유형도 만들 수 있습니다. 유형은 팀에 요청되는 작업의 종류를 파악할 수 있도록 작업을 분류하는 데 도움이 됩니다.
- 들어오는 작업이 최종 사용자에게 미치는 영향을 정의하고 우선순위 지정을 돕기 위한 우선순위와 심각도의 수준.
이 튜토리얼에서는 다음과 같이 결정했다고 가정합니다.
- 유형:
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을 선택합니다.
다음 단계를 반복해 필요한 레이블을 모두 생성합니다.
type::bugtype::featuretype::maintenancepriority::1priority::2priority::3priority::4severity::1severity::2severity::3severity::4
새 레이블 우선순위 지정#
이제 새 레이블을 우선순위 레이블로 설정합니다. 이렇게 하면 우선순위 또는 레이블 우선순위로 정렬할 때 가장 중요한 이슈가 이슈 목록의 상단에 표시됩니다.
우선순위 또는 레이블 우선순위로 정렬할 때 어떤 일이 일어나는지 알아보려면 이슈 목록 정렬 및 순서 지정을 참고합니다.
레이블 우선순위를 지정하려면 다음을 진행합니다.
- Labels 페이지에서 우선순위를 지정하려는 레이블 옆의 별표([star-o])를 선택합니다. 이 레이블은 이제 Prioritized labels 아래 레이블 목록의 상단에 표시됩니다.
- 이 레이블들의 상대적 우선순위를 변경하려면 목록에서 위아래로 드래그합니다. 목록에서 위쪽에 있는 레이블일수록 우선순위가 높습니다.
- 앞서 생성한 레이블을 모두 우선순위 레이블로 지정합니다. 우선순위와 심각도가 높은 레이블이 낮은 값보다 목록에서 위쪽에 오도록 합니다.

이슈 트리아지 보드 생성#
들어오는 이슈 백로그에 대비할 수 있도록, 레이블별로 이슈를 정리하는 이슈 보드를 생성합니다. 이 보드를 사용해 카드를 여러 목록으로 드래그하면서 이슈를 빠르게 생성하고 레이블을 추가할 수 있습니다.
이슈 보드를 설정하려면 다음을 진행합니다.
- 보드의 범위를 결정합니다. 예를 들어 이슈에 심각도를 지정하는 데 사용할 보드를 생성합니다.
- 상단 바에서 Search or go to를 선택하고 Issue 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 목록에서 Create new issue(+)를 선택합니다. Open 목록에는 다른 어떤 보드 목록에도 속하지 않는 이슈가 표시됩니다.
이슈에 지정할 심각도 레이블을 이미 알고 있다면 해당 레이블 목록에서 바로 생성할 수 있습니다. 레이블 목록에서 생성한 각 이슈에는 해당 레이블이 지정됩니다.
-
필드를 작성합니다.
- Title 아래에
User registration을 입력합니다.
- Title 아래에
-
Create issue를 선택합니다.
-
이 단계를 반복해 이슈를 몇 개 더 생성합니다.
예를 들어 앱을 구축하는 경우 다음 이슈를 생성합니다.
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을 사용해 프로젝트의 이슈 트리아지를 자동화하는 데 도움이 되는 정책을 생성합니다. 다음과 같은 히트맵으로 요약 보고서를 생성합니다.