Jira 이슈 관리

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

GitLab에서 Jira 이슈를 직접 관리할 수 있습니다. 그런 다음 GitLab 커밋 및 병합 요청에서 Jira 이슈 ID를 참조할 수 있습니다. Jira 이슈 ID는 대문자여야 합니다.

GitLab 활동과 Jira 이슈 상호 참조

이 통합을 통해 GitLab 이슈, 병합 요청 및 Git에서 작업하는 동안 Jira 이슈를 상호 참조할 수 있습니다. GitLab 이슈, 병합 요청, 댓글 또는 커밋에서 Jira 이슈를 언급하면:

  • GitLab은 Jira 이슈에 대한 GitLab 언급에서 연결을 제공합니다.
  • GitLab은 Jira 이슈에 서식이 있는 코멘트를 추가하여 GitLab의 이슈, 병합 요청 또는 커밋으로 연결합니다.

예를 들어, 이 커밋이 GIT-1 Jira 이슈를 참조할 때:

git commit -m "GIT-1 this is a test commit"

GitLab은 해당 Jira 이슈에 다음을 추가합니다:

  • 웹 링크 섹션에 참조.
  • 다음 형식을 따르는 액티비티 섹션의 코멘트:

    사용자가 [PROJECT_NAME|COMMENTLINK]의 RESOURCE_NAME에서 이 문제를 언급했습니다.:
    ENTITY_TITLE
    
    • USER: Jira 이슈를 언급한 사용자의 이름(링크가 걸림).
    • RESOURCE_NAME: Jira 이슈가 참조된 리소스 유형(예: GitLab 커밋, 이슈 또는 병합 요청).
    • PROJECT_NAME: GitLab 프로젝트 이름.
    • COMMENTLINK: Jira 이슈가 언급된 위치에 대한 링크.
    • ENTITY_TITLE: GitLab 커밋(첫 번째 줄), 이슈 또는 병합 요청의 제목.

하나의 GitLab 이슈, 병합 요청 또는 커밋 당 Jira에 하나의 상호 참조만 표시됩니다. 예를 들어, Jira 이슈를 참조하는 여러 개의 GitLab 병합 요청 댓글이 Jira에 하나의 상호 참조만 생성합니다.

이슈에 댓글을 비활성화할 수 있습니다.

병합 요청에 연관된 Jira 이슈의 필수 여부

Tier: Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

이 통합을 통해 Jira 이슈를 참조하지 않은 경우 병합 요청을 병합하지 못하도록 할 수 있습니다. 이 기능을 활성화하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 설정 > 병합 요청을 선택합니다.
  3. 병합 확인 섹션에서 연관된 Jira 이슈 필요를 선택합니다.
  4. 저장을 선택합니다.

이 기능을 활성화한 후 연관된 Jira 이슈를 참조하지 않은 병합 요청을 병합할 수 없습니다. 병합 요청에는 병합하려면 제목이나 설명에 Jira 이슈 키를 언급해야 합니다라는 메시지가 표시됩니다.

GitLab에서 Jira 이슈 매칭 사용자 정의

GitLab에서 Jira 이슈 키를 매칭하는 사용자 정의 규칙을 구성할 수 있습니다.

사용자 정의 규칙을 구성하지 않은 경우 기본 동작이 사용됩니다.

정규 표현식(pattern) 정의

Jira 이슈 키를 매칭하기 위해 정규 표현식(Regex)을 사용할 수 있습니다. 정규 표현식 패턴은 RE2 구문을 따라야 합니다.

Jira 이슈 키에 대한 정규 표현식 패턴을 정의하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 설정 > 통합을 선택합니다.
  3. Jira를 선택합니다.
  4. Jira 이슈 매칭 섹션으로 이동합니다.
  5. Jira 이슈 정규 표현식 텍스트 상자에 정규 표현식 패턴을 입력합니다.
  6. 변경 사항 저장을 선택합니다.

자세한 정보는 Atlassian 문서를 참조하세요.

접두사 정의

Jira 이슈 키에 대해 접두사를 사용할 수 있습니다. 예를 들어, Jira 이슈 키가 ALPHA-1이고 JIRA# 접두사를 정의하는 경우, GitLab은 ALPHA-1 대신에 JIRA#ALPHA-1을 매칭합니다.

Jira 이슈 키에 대한 접두사를 정의하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 설정 > 통합을 선택합니다.
  3. Jira를 선택합니다.
  4. Jira 이슈 매칭 섹션으로 이동합니다.
  5. Jira 이슈 접두사 텍스트 상자에 접두사를 입력합니다.
  6. 변경 사항 저장을 선택합니다.

GitLab에서 Jira 이슈 닫기

GitLab 전이 ID를 구성한 경우 GitLab에서 Jira 이슈를 직접 닫을 수 있습니다. 커밋이나 병합 요청에 트리거 단어와 Jira 이슈 ID를 사용한 경우 GitLab은:

  1. 언급된 Jira 이슈에 코멘트를 남깁니다.
  2. Jira 이슈를 닫습니다. Jira 이슈에 해결 방법이 있는 경우, 전이되지 않습니다.

예를 들어, 다음 중 하나의 트리거 단어를 사용하여 PROJECT-1 Jira 이슈를 닫을 수 있습니다:

  • Resolves PROJECT-1
  • Closes PROJECT-1
  • Fixes PROJECT-1

커밋이나 병합 요청은 귀하의 프로젝트의 기본 브랜치를 대상으로 해야 합니다. 프로젝트의 기본 브랜치를 프로젝트 설정에서 변경할 수 있습니다.

브랜치 이름이 Jira 이슈 ID와 일치하는 경우, 기존 병합 요청 템플릿에 자동으로 Closes <JIRA-ID>가 추가됩니다. 이슈를 닫고 싶지 않다면 자동 이슈 닫기 비활성화하세요.

이슈 해결을 위한 사용 사례

다음 예를 참조하십시오:

  1. 사용자가 새로운 기능을 요청하는 Jira issue ‘PROJECT-7’를 생성합니다.
  2. GitLab에서 요청된 기능을 빌드하기 위해 병합 요청을 생성합니다.
  3. 병합 요청에서 이슈 해결 트리거 ‘Closes PROJECT-7’를 추가합니다.
  4. 병합 요청이 병합되면:
    • GitLab이 Jira issue를 자동으로 닫습니다.
    • GitLab이 해당 이슈를 해결한 커밋에 연결된 형식화된 코멘트를 Jira에 추가합니다. 코멘트 비활성화가능합니다.

자동 이슈 전환

자동 이슈 전환을 구성하면 참조된 Jira 이슈를 다음 사용 가능한 상태가 완료(Done)인 상태로 전이시킬 수 있습니다. 이 설정을 구성하려면:

  1. GitLab 구성 지침을 참조하십시오.
  2. Jira 전환 활성화 확인란을 선택합니다.
  3. 완료로 이동 옵션을 선택합니다.

사용자 정의 이슈 전환

고급 워크플로우를 위해 사용자 지정 Jira 전환 ID를 지정할 수 있습니다:

  1. Jira 구독 상태에 따라 다음 방법 중 하나를 사용합니다:
    • (Jira Cloud 사용자의 경우) 텍스트 보기에서 워크플로우를 편집하여 전환 ID를 얻습니다. 전환 ID는 전환 열에 표시됩니다.
    • (Jira Server 사용자의 경우) 다음 중에서 전환 ID를 얻습니다:
      • 적절한 “open” 상태에 있는 이슈를 사용하여 https://yourcompany.atlassian.net/rest/api/2/issue/ISSUE-123/transitions와 같은 요청을 사용하여 API를 통해.
      • 이동하려는 전환에 대한 링크 위로 마우스를 가져가 URL에서 action 매개변수를 찾습니다. 전환 ID는 상태 변경 대상이 동일한 경우에도 워크플로우에 따라 다를 수 있습니다 (예: 이야기 대신 버그).
  2. GitLab 구성 지침을 참조하십시오.
  3. Jira 전환 활성화 설정을 선택합니다.
  4. 사용자 정의 전환 옵션을 선택합니다.
  5. 텍스트 필드에 전환 ID를 입력합니다. (, 또는 ;로 구분하여 여러 전환 ID를 삽입하면 순서대로 각 상태로 이슈가 이동됩니다. 전환이 실패하면 순서가 중단됩니다.)

Jira 이슈에 대한 코멘트 비활성화

Gitlab은 Jira 이슈에 코멘트를 추가하지 않고 소스 커밋 또는 병합 요청을 Jira 이슈와 상호 연결할 수 있습니다:

  1. GitLab 구성 지침을 참조하십시오.
  2. 코멘트 활성화 확인란을 지웁니다.