- GitLab 활동과 Jira 이슈 교차 참조
- GitLab에서 Jira 이슈 매칭 사용자 정의
- GitLab에서 Jira 이슈 닫기
- 자동 이슈 전환
- 사용자 지정 문제 전환
- Jira 문제에 대한 댓글 비활성화
Jira 이슈 관리
GitLab에서 Jira 이슈를 직접 관리할 수 있습니다.
그런 다음 GitLab 커밋 및 병합 요청에서 ID로 Jira 이슈를 참조할 수 있습니다.
Jira 이슈 ID는 대문자여야 합니다.
GitLab 활동과 Jira 이슈 교차 참조
이 통합을 통해 GitLab 이슈, 병합 요청 및 Git에서 작업하는 동안 Jira 이슈를 교차 참조할 수 있습니다.
GitLab 이슈, 병합 요청, 댓글 또는 커밋에서 Jira 이슈를 언급하면:
- GitLab은 GitLab에서 언급으로부터 Jira 이슈에 링크합니다.
- GitLab은 Jira 이슈에 GitLab의 이슈, 병합 요청 또는 커밋으로 돌아가는 링크가 있는 형식화된 댓글을 추가합니다.
예를 들어, 이 커밋이 GIT-1
Jira 이슈를 참조하면:
git commit -m "GIT-1 this is a test commit"
GitLab은 해당 Jira 이슈에 다음을 추가합니다:
- Web links 섹션에 참조.
-
이 형식을 따르는 Activity 섹션의 댓글:
USER가 [PROJECT_NAME|COMMENTLINK]의 RESOURCE_NAME에서 이 이슈를 언급했습니다: ENTITY_TITLE
-
USER
: Jira 이슈를 언급한 사용자 이름과 GitLab 사용자 프로필 링크. -
RESOURCE_NAME
: Jira 이슈를 참조한 자원의 유형(예: GitLab 커밋, 이슈 또는 병합 요청). -
PROJECT_NAME
: GitLab 프로젝트 이름. -
COMMENTLINK
: Jira 이슈가 언급된 위치의 링크. -
ENTITY_TITLE
: GitLab 커밋(첫 번째 줄), 이슈 또는 병합 요청의 제목.
-
GitLab 이슈, 병합 요청 또는 커밋당 Jira에서 한 번만 교차 참조가 표시됩니다.
예를 들어, Jira 이슈를 언급하는 여러 GitLab 병합 요청 댓글은 Jira에서 해당 병합 요청에 대한 단일 교차 참조만 생성합니다.
이슈에 대한 댓글 비활성화를 할 수 있습니다.
병합 요청을 병합하기 위해 관련된 Jira 이슈 요구
이 통합을 통해 Jira 이슈를 참조하지 않는 병합 요청이 병합되는 것을 방지할 수 있습니다.
이 기능을 활성화하려면:
- 왼쪽 사이드바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- Settings > Merge requests를 선택합니다.
- Merge checks 섹션에서 Require an associated issue from Jira를 선택합니다.
- Save를 선택합니다.
이 기능을 활성화하면 관련된 Jira 이슈를 참조하지 않는 병합 요청은 병합할 수 없습니다. 병합 요청에는 병합하려면 제목이나 설명에 Jira 이슈 키가 언급되어야 합니다라는 메시지가 표시됩니다.
GitLab에서 Jira 이슈 매칭 사용자 정의
- GitLab 15.10에서 소개됨.
GitLab이 Jira 이슈 키를 매칭하는 방법에 대한 사용자 정의 규칙을 정의하여 구성할 수 있습니다:
사용자 정의 규칙을 구성하지 않으면
기본 동작이 사용됩니다.
정규 표현식 패턴 정의
정규 표현식(regex)을 사용하여 Jira 이슈 키를 매칭할 수 있습니다.
정규 표현식 패턴은 RE2 구문을 따라야 합니다.
Jira 이슈 키에 대한 정규 표현식 패턴을 정의하려면:
-
왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
-
설정 > 통합을 선택합니다.
-
Jira를 선택합니다.
-
Jira 이슈 매칭 섹션으로 이동합니다.
-
Jira 이슈 regex 텍스트 상자에 정규 표현식 패턴을 입력합니다.
-
변경 사항 저장을 선택합니다.
더 많은 정보는 Atlassian 문서를 참조하세요.
접두사 정의
접두사를 사용하여 Jira 이슈 키를 매칭할 수 있습니다.
예를 들어, Jira 이슈 키가 ALPHA-1
이고 JIRA#
접두사를 정의하면 GitLab은 ALPHA-1
이 아닌 JIRA#ALPHA-1
과 매칭됩니다.
Jira 이슈 키에 대한 접두사를 정의하려면:
-
왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
-
설정 > 통합을 선택합니다.
-
Jira를 선택합니다.
-
Jira 이슈 매칭 섹션으로 이동합니다.
-
Jira 이슈 접두사 텍스트 상자에 접두사를 입력합니다.
-
변경 사항 저장을 선택합니다.
GitLab에서 Jira 이슈 닫기
GitLab 전환 ID를 구성한 경우, GitLab에서 직접 Jira 이슈를 닫을 수 있습니다. 커밋 또는 머지 요청에 트리거 단어와 Jira 이슈 ID를 사용하세요.
트리거 단어와 Jira 이슈 ID가 포함된 커밋을 푸시하면 GitLab은:
-
언급된 Jira 이슈에 댓글을 달고.
-
Jira 이슈를 닫습니다. Jira 이슈에 해결방법이 있는 경우, 전환되지 않습니다.
예를 들어, 다음의 트리거 단어 중 하나를 사용하여 Jira 이슈 PROJECT-1
을 닫으세요:
Resolves PROJECT-1
Closes PROJECT-1
Fixes PROJECT-1
커밋이나 머지 요청은 프로젝트의 기본 브랜치를 대상으로 해야 합니다.
프로젝트의 기본 브랜치는 프로젝트 설정에서 변경할 수 있습니다.
브랜치 이름이 Jira 이슈 ID와 일치하는 경우, Closes <JIRA-ID>
가 기존의 머지 요청 템플릿에 자동으로 추가됩니다.
이슈를 닫고 싶지 않은 경우, 자동 이슈 닫기 비활성화를 선택하세요.
이슈 닫기에 대한 사용 사례
다음 예를 고려하세요:
-
사용자가 새 기능 요청을 위해 Jira 이슈
PROJECT-7
을 생성합니다. -
요청된 기능을 구축하기 위해 GitLab에서 머지 요청을 생성합니다.
-
머지 요청에 이슈 닫기 트리거
Closes PROJECT-7
을 추가합니다. -
머지 요청이 병합되면:
- GitLab이 Jira 이슈를 닫습니다.
- GitLab이 이슈를 해결한 커밋에 링크된 포맷된 댓글을 Jira에 추가합니다. 댓글을 비활성화할 수 있습니다.
자동 이슈 전환
자동 이슈 전환을 구성하면, 참조된 Jira 이슈를 완료 카테고리의 다음 상태로 전환할 수 있습니다. 이 설정을 구성하려면:
-
GitLab 구성 지침을 참조하세요.
-
Jira 전환 활성화 체크박스를 선택합니다.
-
완료로 이동 옵션을 선택합니다.
사용자 지정 문제 전환
고급 워크플로우의 경우, 사용자 지정 Jira 전환 ID를 지정할 수 있습니다:
- Jira 구독 상태에 기반한 방법을 사용하세요:
- (Jira Cloud 사용자) 텍스트 보기에서 워크플로우를 편집하여 전환 ID를 얻습니다. 전환 ID는 전환 열에 표시됩니다.
-
(Jira Server 사용자) 다음 방법 중 하나로 전환 ID를 얻습니다:
- API를 사용하여
https://yourcompany.atlassian.net/rest/api/2/issue/ISSUE-123/transitions
와 같은 요청을 합니다. 이때 적절한 “열림” 상태의 문제를 사용합니다. - 원하는 전환의 링크 위에 마우스를 올려 놓고 URL에서 action 매개변수를 찾습니다. 전환 ID는 워크플로우 간에 다를 수 있습니다 (예: 스토리 대신 버그), 변경하려는 상태가 동일하더라도 말입니다.
- API를 사용하여
-
GitLab 구성 지침을 참조하세요.
-
Jira 전환 활성화 설정을 선택하세요.
-
사용자 지정 전환 옵션을 선택하세요.
- 텍스트 필드에 전환 ID를 입력하세요. 여러 개의 전환 ID를 삽입할 경우(구분자로
,
또는;
사용), 문제는 지정한 순서대로 각 상태로 이동합니다. 전환이 실패하면 순서는 중단됩니다.
Jira 문제에 대한 댓글 비활성화
GitLab은 Jira 문제에 댓글을 추가하지 않고 소스 커밋 또는 병합 요청을 Jira 문제와 교차 링크할 수 있습니다:
-
GitLab 구성 지침을 참조하세요.
-
댓글 활성화 체크박스를 해제하세요.