- GitLab 활동과 Jira 이슈의 상호 참조
- GitLab에서 Jira 이슈 매칭 사용자 정의
- GitLab에서 Jira 이슈 닫기
- 자동 이슈 전환
- 사용자 정의 이슈 전환
- Jira 이슈에 코멘트 비활성화
Jira 이슈 관리
GitLab에서 직접 Jira 이슈를 관리할 수 있습니다. 그런 다음 GitLab 커밋 및 Merge Request에서 Jira 이슈 ID를 참조할 수 있습니다. Jira 이슈 ID는 대문자여야 합니다.
GitLab 활동과 Jira 이슈의 상호 참조
이 통합을 통해 GitLab 이슈, Merge Request 및 Git에서 작업하는 동안 Jira 이슈를 상호 참조할 수 있습니다. GitLab 이슈, Merge Request, 코멘트 또는 커밋에서 Jira 이슈를 언급하면:
- GitLab은 Jira 이슈에 대한 링크를 GitLab의 언급에서 연결합니다.
- GitLab은 Jira 이슈에 서식이 있는 코멘트를 추가하여 해당 이슈, Merge Request 또는 GitLab에서의 커밋에 대한 링크를 제공합니다.
예를 들어, 이 커밋이 GIT-1
Jira 이슈를 참조하는 경우:
git commit -m "GIT-1 테스트 커밋입니다"
GitLab은 해당 Jira 이슈에 다음을 추가합니다:
- 웹 링크 섹션에 참조.
-
다음 형식을 따르는 활동 섹션의 코멘트:
USER가 [PROJECT_NAME|COMMENTLINK]의 RESOURCE_NAME에서 이 문제를 언급함: ENTITY_TITLE
-
USER
: Jira 이슈를 언급한 사용자의 이름과 해당 사용자의 GitLab 사용자 프로필로의 링크. -
RESOURCE_NAME
: Jira 이슈를 참조하는 리소스 유형(예: GitLab 커밋, 이슈 또는 Merge Request). -
PROJECT_NAME
: GitLab 프로젝트 이름. -
COMMENTLINK
: Jira 이슈가 언급된 위치로의 링크. -
ENTITY_TITLE
: GitLab 커밋(첫 번째 줄), 이슈 또는 Merge Request의 제목.
-
Jira 당 GitLab 이슈, Merge Request 또는 커밋에 대해 하나의 상호 참조만 나타납니다. 예를 들어, Jira 이슈를 참조하는 여러 GitLab Merge Request의 여러 코멘트는 Jira에서 해당 Merge Request으로의 단일 상호 참조만 생성합니다.
이슈에 대한 코멘트를 비활성화할 수 있습니다.
Merge Request에 연관된 Jira 이슈가 Merge되도록 필요로 함
이 통합을 사용하면 Jira 이슈를 참조하지 않은 경우 Merge Request이 Merge되지 않도록 할 수 있습니다. 이 기능을 활성화하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > Merge Request을 선택합니다.
- Merge 확인 섹션에서 Jira에서 연관된 이슈를 필요로 함을 선택합니다.
- 저장을 선택합니다.
이 기능을 활성화한 후 Jira 이슈를 참조하지 않은 Merge Request을 Merge할 수 없습니다. Merge Request에는 다음 메시지가 표시됩니다: Merge하려면 제목 또는 설명에 Jira 이슈 키를 언급해야 함
GitLab에서 Jira 이슈 매칭 사용자 정의
다음을 정의하여 GitLab이 Jira 이슈 키를 매칭하는 사용자 정의 규칙을 구성할 수 있습니다:
사용자 정의 규칙을 구성하지 않은 경우, 기본 동작이 사용됩니다.
정규식 패턴 정의
정규식(정규 표현식)을 사용하여 Jira 이슈 키를 매칭시킬 수 있습니다. 정규식 패턴은 RE2 구문을 따라야 합니다.
Jira 이슈 키의 정규식 패턴을 정의하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 통합을 선택합니다.
- Jira를 선택합니다.
- Jira 이슈 매칭 섹션으로 이동합니다.
- Jira 이슈 정규식 텍스트 상자에 정규식 패턴을 입력합니다.
- 변경 사항 저장을 선택합니다.
자세한 내용은 Atlassian 문서를 참조하십시오.
접두사 정의
접두사를 사용하여 Jira 이슈 키를 매칭시킬 수 있습니다.
예를 들어, Jira 이슈 키가 ALPHA-1
이고 JIRA#
접두사를 정의하면,
GitLab은 JIRA#ALPHA-1
대신에 ALPHA-1
을 매칭시킵니다.
Jira 이슈 키에 대한 접두사를 정의하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 통합을 선택합니다.
- Jira를 선택합니다.
- Jira 이슈 매칭 섹션으로 이동합니다.
- Jira 이슈 접두사 텍스트 상자에 접두사를 입력합니다.
- 변경 사항 저장을 선택합니다.
GitLab에서 Jira 이슈 닫기
GitLab 전환 ID를 구성한 경우, 커밋 또는 Merge Request에서 트리거 단어와 Jira 이슈 ID를 사용하여 GitLab에서 직접 Jira 이슈를 닫을 수 있습니다. 트리거 단어와 Jira 이슈 ID를 포함하는 커밋을 푸시하면 GitLab은:
- 언급된 Jira 이슈에 코멘트를 추가합니다.
- 해당 Jira 이슈를 닫습니다. Jira 이슈에 해결 방법이 있는 경우, 전환되지 않습니다.
예를 들어, 다음 중 하나의 트리거 단어를 사용하여 PROJECT-1
Jira 이슈를 닫을 수 있습니다:
해결 PROJECT-1
닫음 PROJECT-1
고침 PROJECT-1
커밋 또는 Merge Request은 프로젝트의 기본 브랜치를 대상으로 해야 합니다. 프로젝트의 기본 브랜치를 프로젝트 설정에서 변경할 수 있습니다.
브랜치 이름이 Jira 이슈 ID와 일치하는 경우, 기존 Merge Request 템플릿에 자동으로 Closes <JIRA-ID>
가 추가됩니다.
이슈를 닫고 싶지 않은 경우, 자동 이슈 닫기 비활성화하십시오.
이슈 클로징을 위한 사용 사례
다음 예시를 살펴봅니다:
- 사용자가 새로운 기능을 요청하는 Jira 이슈
PROJECT-7
를 생성합니다. - 요청된 기능을 빌드하기 위해 GitLab에서 Merge Request를 생성합니다.
- Merge Request에 이슈 클로징 트리거
Closes PROJECT-7
를 추가합니다. - Merge Request가 머지되면:
- GitLab이 Jira 이슈를 자동으로 닫습니다.
- GitLab이 커밋과 관련된 링크가 있는 Jira에 형식화된 코멘트를 추가합니다. 코멘트 비활성화할 수 있습니다.
자동 이슈 전환
자동 이슈 전환을 구성하면 참조된 Jira 이슈를 완료(Done) 카테고리를 가진 다음 가능한 상태로 전환할 수 있습니다. 이 설정을 구성하려면:
- GitLab 구성 지침을 참조하세요.
- Jira 전환 활성화 확인란을 선택합니다.
- 완료(Done)로 이동 옵션을 선택합니다.
사용자 정의 이슈 전환
고급 워크플로우를 위해 사용자 정의 Jira 전환 ID를 지정할 수 있습니다:
- Jira 구독 상태에 따라 해당하는 방법을 사용하세요:
- (Jira Cloud 사용자) 텍스트 뷰에서 워크플로우를 편집하여 전환 ID를 얻을 수 있습니다. 전환 ID는 전환 열에 표시됩니다.
-
(Jira Server 사용자) 다음 중 하나의 방법으로 전환 ID를 얻을 수 있습니다:
- 적절한 “open” 상태에 있는 이슈를 사용하여
https://yourcompany.atlassian.net/rest/api/2/issue/ISSUE-123/transitions
와 같은 요청을 사용하여 API를 이용합니다. - 원하는 전환에 마우스를 올리고 URL의 action 매개변수를 찾아봅니다. 전환 ID는 워크플로우에 따라 다를 수 있으며(예: 스토리 대신 버그), 변경할 상태가 같더라도 다를 수 있습니다.
- 적절한 “open” 상태에 있는 이슈를 사용하여
- GitLab 구성 지침을 참조하세요.
- Jira 전환 활성화 설정을 선택합니다.
- 사용자 정의 전환 옵션을 선택합니다.
- 텍스트 필드에 전환 ID를 입력합니다. 여러 전환 ID를 삽입하면(
,
또는;
로 구분), 지정한 순서대로 각 상태로 이슈가 이동합니다. 전환 실패 시 순서가 중단됩니다.
Jira 이슈에 코멘트 비활성화
GitLab은 Jira 이슈에 코멘트를 추가하지 않고 소스 커밋이나 Merge Request를 Jira 이슈와 상호 연결할 수 있습니다:
- GitLab 구성 지침을 참조하세요.
- 코멘트 활성화 확인란을 해제하세요.