Jira 이슈 연동
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
Jira 이슈 연동은 하나 이상의 GitLab 프로젝트를 Jira 인스턴스에 연결합니다. GitLab에서 프로젝트 설정을 구성하여 Jira 이슈 연동을 활성화할 수 있습니다. 이 연동을 사용하면 GitLab 프로젝트에서 인스턴스의 모든 Jira 프로젝트와 상호작용할 수 있습니다.
히스토리
- GitLab 17.6에서 이름이 Jira 이슈 연동으로 업데이트되었습니다.
Jira 이슈 연동은 하나 이상의 GitLab 프로젝트를 Jira 인스턴스에 연결합니다.
Jira 인스턴스를 직접 호스팅하거나 Jira Cloud에서 호스팅할 수 있습니다.
지원되는 Jira 버전은 6.x, 7.x, 8.x, 9.x, 10.x입니다.
연동 구성#
히스토리
- GitLab 16.0에서 Jira 개인 액세스 토큰을 사용한 인증이 도입되었습니다.
- Jira 이슈 및 취약점에 대한 Jira 이슈 섹션이 GitLab 16.10에서
jira_multiple_project_keys라는 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다. - Jira 이슈 및 취약점에 대한 Jira 이슈 섹션이 GitLab 17.0에서 일반 사용 가능하게 되었습니다. 기능 플래그
jira_multiple_project_keys가 제거되었습니다. - Jira 이슈 활성화 체크박스가 GitLab 17.0에서 Jira 이슈 보기로 이름이 변경되었습니다.
- 취약점에서 Jira 이슈 생성 활성화 체크박스가 GitLab 17.0에서 취약점에 대한 Jira 이슈 생성으로 이름이 변경되었습니다.
- Jira 이슈 커스터마이즈 설정이 GitLab 17.5에서 도입되었습니다.
- Jira Cloud 서비스 계정 인증이 GitLab 19.0에서 도입되었습니다.
사전 요구 사항:
- GitLab 설치에서 상대 URL을 사용하지 않아야 합니다.
- Jira Cloud의 경우:
- Basic 인증에 기본(범위 미지정) API 토큰을 사용하려면 Jira Cloud API 토큰과 토큰 생성에 사용한 이메일 주소가 있어야 합니다.
- Basic 인증에 범위 지정 API 토큰을 사용하려면 사용자 계정에 대한 범위 지정 토큰을 생성하고 Jira API URL을 Jira Platform API 게이트웨이(
https://api.atlassian.com/ex/jira/{cloudId})로 설정해야 합니다. 자세한 내용은 Atlassian 계정의 API 토큰 관리를 참조하세요. - Jira Cloud 서비스 계정을 사용하려면 Jira Cloud 서비스 계정과 해당 서비스 계정의 범위 지정 API 토큰이 있어야 합니다. 자세한 내용은 서비스 계정 API 토큰 관리를 참조하세요.
- IP 허용 목록을 활성화한 경우, GitLab에서 Jira 이슈를 보기 위해 허용 목록에 GitLab.com IP 범위를 추가하세요.
- Jira Data Center 또는 Jira Server의 경우, 다음 중 하나가 있어야 합니다:
- Jira 사용자 이름과 비밀번호.
- Jira 개인 액세스 토큰 (GitLab 16.0 이상).
GitLab에서 프로젝트 설정을 구성하여 Jira 이슈 연동을 활성화할 수 있습니다. GitLab Self-Managed에서 특정 그룹 또는 전체 인스턴스에 대해 연동을 구성할 수도 있습니다.
이 연동을 사용하면 GitLab 프로젝트에서 인스턴스의 모든 Jira 프로젝트와 상호작용할 수 있습니다. GitLab에서 프로젝트 설정을 구성하려면:
-
상단 표시줄에서 Search or go to를 선택하고 프로젝트를 찾습니다.
-
왼쪽 사이드바에서 Settings > Integrations를 선택합니다.
-
Jira issues를 선택합니다.
-
Enable integration 아래에서 Active 체크박스를 선택합니다.
-
Authentication method 아래에서 다음 중 하나를 선택합니다:
Basic 인증: Jira Cloud에는 이메일과 API 토큰을 사용하고, Jira Data Center 또는 Jira Server에는 사용자 이름과 비밀번호를 사용합니다.
- Email or username:
- Jira Cloud의 경우 이메일을 입력합니다.
- Jira Data Center 또는 Jira Server의 경우 사용자 이름을 입력합니다.
- API token or password:
- Jira Cloud의 경우 API 토큰을 입력합니다.
- Jira Data Center 또는 Jira Server의 경우 비밀번호를 입력합니다.
Personal access token (Jira Data Center 및 Jira Server 전용): Jira 개인 액세스 토큰을 입력합니다.
Jira Cloud 서비스 계정 (Jira Cloud 전용):
- Service account token: Jira Cloud 서비스 계정의 범위 지정 API 토큰을 입력합니다.
- 서비스 계정이 GitLab에서 액세스하려는 Jira 프로젝트에 충분한 권한이 있는지 확인합니다.
- Email or username:
-
연결 세부 정보를 입력합니다:
- Web URL: 이 GitLab 프로젝트에 연결할 Jira 인스턴스 웹 인터페이스의 기본 URL (예:
https://jira.example.com또는https://example.atlassian.net). - Jira API URL: Jira 인스턴스 API의 기본 URL. 설정되지 않은 경우 Web URL 값이 사용됩니다.
- 기본(범위 미지정) API 토큰이 있는 Jira Cloud의 경우 이 필드를 비워 둡니다.
- 범위 지정 API 토큰이 있는 Jira Cloud (사용자 계정 또는 서비스 계정)의 경우 Jira Platform API 게이트웨이를 입력합니다:
https://api.atlassian.com/ex/jira/{cloudId}. Cloud ID를 찾으려면 Atlassian 안내를 참조하세요.
- Web URL: 이 GitLab 프로젝트에 연결할 Jira 인스턴스 웹 인터페이스의 기본 URL (예:
-
트리거 설정을 입력합니다:
- Commit, Merge request 또는 둘 다를 트리거로 선택합니다. GitLab에서 Jira 이슈 ID를 언급하면 GitLab이 해당 이슈로 링크합니다.
- GitLab으로 다시 링크하는 댓글을 Jira 이슈에 추가하려면 Enable comments 체크박스를 선택합니다.
- GitLab에서 Jira 이슈를 자동으로 전환하려면 Enable Jira transitions 체크박스를 선택합니다.
-
Jira issue matching 섹션에서:
- Jira issue regex에 regex 패턴을 입력합니다.
- Jira issue prefix에 접두사를 입력합니다.
-
선택 사항. GitLab에서 Jira 이슈를 보려면 Jira issues 섹션에서:
-
View Jira issues 체크박스를 선택합니다.
[!warning] GitLab 프로젝트에 액세스할 수 있는 모든 사용자가 인증에 사용된 API 토큰이 액세스할 수 있는 Jira 이슈를 볼 수 있습니다. 아래에 입력하는 Jira 프로젝트 키는 GitLab에 표시되는 이슈 목록을 필터링합니다. API 토큰의 액세스는 제한하지 않습니다. 연동이 읽을 수 있는 이슈를 제한하려면 노출하려는 Jira 프로젝트에만 액세스할 수 있는 Jira 계정을 사용하고 해당 계정에서 API 토큰을 생성하세요.
-
표시할 Jira 프로젝트 키를 하나 이상 입력합니다. API 토큰이 액세스할 수 있는 모든 키를 표시하려면 비워 둡니다.
-
-
선택 사항. 취약점에 대한 Jira 이슈를 생성하려면 Jira issues for vulnerabilities 섹션에서:
-
Create Jira issues for vulnerabilities 체크박스를 선택합니다.
[!note] 이 설정은 개별 프로젝트 및 그룹에 대해서만 활성화할 수 있습니다.
-
Jira 프로젝트 키를 입력합니다.
-
Fetch issue types for this project key ([retry])를 선택한 다음 생성할 Jira 이슈 유형을 선택합니다.
-
선택 사항. 취약점에 대한 Jira 이슈를 생성할 때 이슈를 검토, 수정 또는 세부 정보를 추가할 수 있도록 Customize Jira issues 체크박스를 선택합니다.
-
-
선택 사항. Test settings를 선택합니다.
-
Save changes를 선택합니다.
Jira 이슈 보기#
히스토리
사전 요구 사항:
- Jira 이슈 연동이 구성되어 있고 View Jira issues 체크박스가 선택되어 있어야 합니다.
특정 그룹 또는 프로젝트에 대해 Jira 이슈를 활성화할 수 있지만 GitLab 프로젝트에서만 이슈를 볼 수 있습니다. GitLab 프로젝트에서 하나 이상의 Jira 프로젝트의 이슈를 보려면:
- 상단 표시줄에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Plan > Jira issues를 선택합니다.
기본적으로 이슈는 Created date 기준으로 정렬됩니다. 가장 최근에 생성된 이슈가 맨 위에 표시됩니다. 이슈를 필터링하거나 이슈를 선택하여 GitLab에서 볼 수 있습니다.
이슈는 Jira 상태에 따라 다음 탭으로 그룹화됩니다:
- Open: Done 이외의 Jira 상태를 가진 이슈.
- Closed: Done Jira 상태를 가진 이슈.
- All: 모든 Jira 상태를 가진 이슈.
Jira 이슈 필터링#
히스토리
사전 요구 사항:
- Jira 이슈 연동이 구성되어 있고 View Jira issues 체크박스가 선택되어 있어야 합니다.
GitLab에서 Jira 이슈를 볼 때 요약과 설명의 텍스트로 이슈를 필터링할 수 있습니다. 다음 기준으로도 이슈를 필터링할 수 있습니다:
- Label: URL의
labels[]파라미터에 하나 이상의 Jira 이슈 레이블을 지정합니다. 여러 레이블을 지정하면 지정된 모든 레이블이 있는 이슈만 표시됩니다 (예:/-/integrations/jira/issues?labels[]=backend&labels[]=feature&labels[]=QA). - Status: URL의
status파라미터에 Jira 이슈 상태를 지정합니다 (예:/-/integrations/jira/issues?status=In Progress). - Reporter: URL의
author_username파라미터에 Jira 표시 이름을 지정합니다 (예:/-/integrations/jira/issues?author_username=John Smith). - Assignee: URL의
assignee_username파라미터에 Jira 표시 이름을 지정합니다 (예:/-/integrations/jira/issues?assignee_username=John Smith). - Project: URL의
project파라미터에 Jira 프로젝트 키를 지정합니다 (예:/-/integrations/jira/issues?project=GTL).
Jira 검증#
히스토리
- GitLab 18.3에서 도입되었습니다.
사전 요구 사항:
- Jira 이슈 연동이 구성되어 있고 View Jira issues 체크박스가 선택되어 있어야 합니다.
커밋 메시지에서 참조된 Jira 이슈가 푸시를 허용하기 전에 특정 기준을 충족하는지 확인하는 검증 규칙을 설정할 수 있습니다. 이 기능은 GitLab과 Jira 간의 일관된 워크플로우를 유지하는 데 도움이 됩니다.
Jira 검증을 구성하려면:
- 상단 표시줄에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Settings > Integrations를 선택합니다.
- Jira issues를 선택합니다.
- Jira verification 섹션으로 이동합니다.
- 다음 검증 확인을 구성합니다:
- Check issue exists: 커밋 메시지에서 참조된 Jira 이슈가 Jira에 존재하는지 확인합니다.
- Check assignee: 커미터가 커밋 메시지에서 참조된 Jira 이슈의 담당자인지 확인합니다.
- Check issue status: 커밋 메시지에서 참조된 Jira 이슈가 허용된 상태 중 하나를 가지고 있는지 확인합니다.
- Allowed statuses: 허용된 Jira 이슈 상태의 쉼표로 구분된 목록 (예:
Ready, In Progress, Review). 이 필드는 Check issue status가 활성화된 경우에만 사용 가능합니다.
- Save changes를 선택합니다.
사용자가 검증 기준을 충족하지 않는 변경 사항을 푸시하려고 하면, GitLab은 푸시가 거부된 이유를 나타내는 오류 메시지를 표시합니다.
커밋 메시지에 여러 Jira 이슈 키가 포함된 경우 검증 확인에는 첫 번째 키만 사용됩니다.
오류 메시지 예시#
-
참조된 Jira 이슈가 존재하지 않는 경우 (Check issue exists가 활성화된 경우):
Jira issue PROJECT-123 does not exist. -
참조된 Jira 이슈가 커미터에게 할당되지 않은 경우 (Check assignee가 활성화된 경우):
Jira issue PROJECT-123 is not assigned to you. It is assigned to Jane Doe. -
참조된 Jira 이슈의 상태가 허용 목록에 없는 경우 (Check issue status가 활성화된 경우):
Jira issue PROJECT-123 has status 'Done', which is not in the list of allowed statuses: Ready, In Progress, Review.
검증 확인 사용 사례#
다음 예시를 고려하세요:
- 팀이 Jira 이슈가 활발하게 작업 중일 때 특정 상태에 있어야 하는 워크플로우를 사용합니다.
- Jira 검증을 다음과 같이 구성합니다:
- 이슈가 존재하는지 확인
- 이슈가 "In Progress" 또는 "Review" 상태인지 확인
- 개발자가 "Fix PROJECT-123 by adding validation" 커밋 메시지로 변경 사항을 푸시하려고 합니다.
- GitLab이 다음을 확인합니다:
- Jira 이슈 PROJECT-123이 존재하는지
- 이슈가 "In Progress" 또는 "Review" 상태인지
- 모든 확인이 통과되면 푸시가 허용됩니다. 확인 중 하나라도 실패하면 오류 메시지와 함께 푸시가 거부됩니다.
이를 통해 해당 Jira 이슈가 올바른 상태에 있지 않을 때 코드 변경 사항이 푸시되지 않도록 방지하여 팀이 올바른 워크플로우를 따르도록 보장합니다.
취약점에 대한 Jira 이슈 생성#
사전 요구 사항:
- Jira 이슈 연동이 구성되어 있고 Create Jira issues for vulnerabilities 체크박스가 선택되어 있어야 합니다.
- 대상 프로젝트에서 이슈를 생성할 권한이 있는 Jira 사용자 계정이 있어야 합니다.
GitLab에서 Jira 이슈를 생성하여 취약점을 해결하거나 완화하기 위해 취해진 조치를 추적할 수 있습니다. 취약점에 대한 Jira 이슈를 생성하려면:
-
상단 표시줄에서 Search or go to를 선택하고 프로젝트를 찾습니다.
-
왼쪽 사이드바에서 Secure > Vulnerability report를 선택합니다.
-
취약점 설명을 선택합니다.
-
Create Jira issue를 선택합니다.
Customize Jira issues 설정이 선택된 경우 취약점 데이터가 미리 입력된 Jira 인스턴스의 이슈 생성 양식으로 리디렉션됩니다. Jira 이슈를 생성하기 전에 세부 정보를 검토, 수정 또는 추가할 수 있습니다.
이슈는 취약점 보고서의 정보와 함께 대상 Jira 프로젝트에 생성됩니다.
GitLab 이슈를 생성하려면 취약점에 대한 GitLab 이슈 생성을 참조하세요.
Jira Cloud API 토큰 생성#
Jira Cloud용 Jira 이슈 연동을 구성하려면 API 토큰이 필요합니다.
사용자 계정용#
-
Jira 프로젝트에 쓰기 권한이 있는 계정으로 Atlassian에 로그인합니다.
링크를 클릭하면 API tokens 페이지가 열립니다. 또는 Atlassian 프로필에서 Account Settings > Security > Create and manage API tokens를 선택합니다.
-
Create API token을 선택합니다.
-
대화 상자에서 토큰의 레이블을 입력하고 Create를 선택합니다.
API 토큰을 복사하려면 Copy를 선택합니다.
서비스 계정용#
- Jira Cloud 서비스 계정을 생성하거나 식별합니다. 자세한 내용은 Atlassian 서비스 계정 문서를 참조하세요.
- 서비스 계정에 대한 범위 지정 API 토큰을 생성합니다. 자세한 내용은 서비스 계정 API 토큰 관리를 참조하세요.
- 토큰에 최소한 다음 기본 Jira 범위가 있는지 확인합니다:
read:jira-userread:jira-workwrite:jira-work
하나의 Jira 사이트에서 다른 사이트로 마이그레이션#
히스토리
- GitLab 17.6에서 연동 이름이 Jira issues로 업데이트되었습니다.
GitLab에서 하나의 Jira 사이트에서 다른 사이트로 마이그레이션하고 Jira 이슈 연동을 유지하려면:
- 연동 구성 단계를 따릅니다.
- 새 Jira 사이트 URL을 입력합니다 (예:
https://myjirasite.atlassian.net).
GitLab 18.6 이상에서는 기존 Jira 이슈 참조가 자동으로 새 Jira 사이트 URL을 사용하도록 업데이트됩니다.
GitLab 18.5 이전 버전에서는 기존 Jira 이슈 참조를 업데이트하기 위해 Markdown 캐시를 무효화해야 합니다.
