InfoGrab DocsInfoGrab Docs

Jira 이슈 관리

요약

GitLab에서 Jira 이슈를 직접 관리할 수 있습니다. 이 통합을 사용하면 GitLab 이슈, 머지 리퀘스트, Git에서 작업하는 동안 Jira 이슈를 상호 참조할 수 있습니다. 예를 들어 다음 커밋이 GIT-1 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 mentioned this issue in RESOURCE_NAME of [PROJECT_NAME|COMMENTLINK]:
    ENTITY_TITLE
    
    • USER: Jira 이슈를 멘션한 사용자의 이름으로, 해당 사용자의 GitLab 프로필로 링크됩니다.
    • RESOURCE_NAME: Jira 이슈를 참조한 리소스 유형(예: GitLab 커밋, 이슈, 머지 리퀘스트).
    • PROJECT_NAME: GitLab 프로젝트 이름.
    • COMMENTLINK: Jira 이슈가 멘션된 위치로의 링크.
    • ENTITY_TITLE: GitLab 커밋(첫 줄), 이슈, 머지 리퀘스트의 제목.

GitLab 이슈, 머지 리퀘스트, 커밋당 Jira에는 상호 참조가 하나만 표시됩니다. 예를 들어 GitLab 머지 리퀘스트에서 Jira 이슈를 참조하는 댓글이 여러 개 있어도 Jira에는 해당 머지 리퀘스트로 연결되는 상호 참조가 하나만 생성됩니다.

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

머지 리퀘스트 머지 시 연결된 Jira 이슈 요구#

이 통합을 사용하면 머지 리퀘스트가 Jira 이슈를 참조하지 않는 경우 머지되지 않도록 방지할 수 있습니다. 이 기능을 켜려면 다음과 같이 진행합니다.

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Settings > Merge requests를 선택합니다.
  3. Merge checks 섹션에서 Require an associated issue from Jira를 선택합니다.
  4. Save를 선택합니다.

이 기능을 켜면 연결된 Jira 이슈를 참조하지 않는 머지 리퀘스트는 머지할 수 없습니다. 머지 리퀘스트에 To merge, a Jira issue key must be mentioned in the title or description 메시지가 표시됩니다.

GitLab에서 Jira 이슈 매칭 커스터마이징#

다음을 정의하여 GitLab 이 Jira 이슈 키를 매칭하는 방식에 대한 커스텀 규칙을 구성할 수 있습니다.

커스텀 규칙을 구성하지 않으면 기본 동작이 사용됩니다.

정규식 패턴 정의#

히스토리
  • GitLab 17.6에서 통합 이름이 Jira issues로 변경되었습니다.

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

Jira 이슈 키에 대한 정규식 패턴을 정의하려면 다음과 같이 진행합니다.

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Settings > Integrations를 선택합니다.
  3. Jira issues를 선택합니다.
  4. Jira issue matching 섹션으로 이동합니다.
  5. Jira issue regex 텍스트 상자에 정규식 패턴을 입력합니다.
  6. Save changes를 선택합니다.

자세한 내용은 Atlassian 문서를 참고합니다.

접두사 정의#

히스토리
  • GitLab 17.6에서 통합 이름이 Jira issues로 변경되었습니다.

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

Jira 이슈 키에 대한 접두사를 정의하려면 다음과 같이 진행합니다.

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Settings > Integrations를 선택합니다.
  3. Jira issues를 선택합니다.
  4. Jira issue matching 섹션으로 이동합니다.
  5. Jira issue prefix 텍스트 상자에 접두사를 입력합니다.
  6. Save changes를 선택합니다.

GitLab에서 Jira 이슈 닫기#

GitLab transition ID를 구성했다면 GitLab에서 직접 Jira 이슈를 닫을 수 있습니다. 커밋이나 머지 리퀘스트에서 트리거 단어 뒤에 Jira 이슈 ID를 사용합니다. 트리거 단어와 Jira 이슈 ID가 포함된 커밋을 푸시하면 GitLab은 다음을 수행합니다.

  1. 멘션된 Jira 이슈에 댓글을 답니다.
  2. Jira 이슈를 닫습니다. Jira 이슈에 resolution 이 있으면 전환(transition)되지 않습니다.

예를 들어 Jira 이슈 PROJECT-1을 닫으려면 다음 트리거 단어 중 하나를 사용합니다.

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

커밋이나 머지 리퀘스트는 프로젝트의 기본 브랜치를 대상으로 해야 합니다. 프로젝트의 기본 브랜치는 프로젝트 설정에서 변경할 수 있습니다.

브랜치 이름이 Jira 이슈 ID와 일치하면 기존 머지 리퀘스트 템플릿에 Closes 가 자동으로 추가됩니다. 이슈를 닫지 않으려면 이슈 자동 닫기를 비활성화합니다.

이슈 닫기 사용 사례#

다음 예시를 살펴봅니다.

  1. 사용자가 새 기능을 요청하기 위해 Jira 이슈 PROJECT-7을 생성합니다.
  2. 요청된 기능을 구현하기 위해 GitLab에서 머지 리퀘스트를 생성합니다.
  3. 머지 리퀘스트에 이슈 닫기 트리거 Closes PROJECT-7을 추가합니다.
  4. 머지 리퀘스트가 머지되면:
    • GitLab 이 대신 Jira 이슈를 닫습니다.
    • GitLab 이 이슈를 해결한 커밋으로 다시 연결되는 형식화된 댓글을 Jira에 추가합니다. 댓글을 비활성화할 수 있습니다.

이슈 자동 전환#

자동 이슈 전환을 구성하면 참조된 Jira 이슈를 Done 카테고리에 속하는 다음 사용 가능한 상태로 전환할 수 있습니다. 이 설정을 구성하려면 다음과 같이 진행합니다.

  1. GitLab 구성 안내를 참고합니다.
  2. Enable Jira transitions 체크박스를 선택합니다.
  3. Move to Done을 선택합니다.

커스텀 이슈 전환#

고급 워크플로의 경우 커스텀 Jira transition ID를 지정할 수 있습니다.

  1. Jira 구독 상태에 따라 방법을 사용합니다.

    • Jira Cloud 사용자의 경우: Text 보기에서 워크플로를 편집하여 transition ID를 확인합니다. transition ID는 Transitions 칼럼에 표시됩니다.
    • Jira Server 사용자의 경우: 다음 방법 중 하나로 transition ID를 확인합니다.
      • https://yourcompany.atlassian.net/rest/api/2/issue/ISSUE-123/transitions와 같은 요청으로 API를 사용하며, 적절한 "open" 상태에 있는 이슈를 사용합니다.
      • 원하는 전환의 링크에 마우스를 올려 URL의 action 파라미터를 확인합니다.

    전환하려는 상태가 동일하더라도 워크플로(예: story 대신 bug)에 따라 transition ID가 다를 수 있습니다.

  2. GitLab 구성 안내를 참고합니다.

  3. Enable Jira transitions 설정을 선택합니다.

  4. Custom transitions를 선택합니다.

  5. 텍스트 필드에 transition ID를 입력합니다. 여러 transition ID를 , 또는 ;로 구분해 입력하면 지정한 순서대로 이슈가 각 상태로 차례로 이동합니다. 전환이 실패하면 시퀀스가 중단됩니다.

Jira 이슈에서 댓글 비활성화#

GitLab은 Jira 이슈에 댓글을 추가하지 않고도 소스 커밋이나 머지 리퀘스트를 Jira 이슈와 상호 링크할 수 있습니다.

  1. GitLab 구성 안내를 참고합니다.
  2. Enable comments 체크박스를 선택 해제합니다.

Jira 이슈 관리

GitLab v19.5
Tier: Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기

요약

GitLab에서 Jira 이슈를 직접 관리할 수 있습니다. 이 통합을 사용하면 GitLab 이슈, 머지 리퀘스트, Git에서 작업하는 동안 Jira 이슈를 상호 참조할 수 있습니다. 예를 들어 다음 커밋이 GIT-1 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 mentioned this issue in RESOURCE_NAME of [PROJECT_NAME|COMMENTLINK]:
    ENTITY_TITLE
    
    • USER: Jira 이슈를 멘션한 사용자의 이름으로, 해당 사용자의 GitLab 프로필로 링크됩니다.
    • RESOURCE_NAME: Jira 이슈를 참조한 리소스 유형(예: GitLab 커밋, 이슈, 머지 리퀘스트).
    • PROJECT_NAME: GitLab 프로젝트 이름.
    • COMMENTLINK: Jira 이슈가 멘션된 위치로의 링크.
    • ENTITY_TITLE: GitLab 커밋(첫 줄), 이슈, 머지 리퀘스트의 제목.

GitLab 이슈, 머지 리퀘스트, 커밋당 Jira에는 상호 참조가 하나만 표시됩니다. 예를 들어 GitLab 머지 리퀘스트에서 Jira 이슈를 참조하는 댓글이 여러 개 있어도 Jira에는 해당 머지 리퀘스트로 연결되는 상호 참조가 하나만 생성됩니다.

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

머지 리퀘스트 머지 시 연결된 Jira 이슈 요구#

이 통합을 사용하면 머지 리퀘스트가 Jira 이슈를 참조하지 않는 경우 머지되지 않도록 방지할 수 있습니다. 이 기능을 켜려면 다음과 같이 진행합니다.

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Settings > Merge requests를 선택합니다.
  3. Merge checks 섹션에서 Require an associated issue from Jira를 선택합니다.
  4. Save를 선택합니다.

이 기능을 켜면 연결된 Jira 이슈를 참조하지 않는 머지 리퀘스트는 머지할 수 없습니다. 머지 리퀘스트에 To merge, a Jira issue key must be mentioned in the title or description 메시지가 표시됩니다.

GitLab에서 Jira 이슈 매칭 커스터마이징#

다음을 정의하여 GitLab 이 Jira 이슈 키를 매칭하는 방식에 대한 커스텀 규칙을 구성할 수 있습니다.

커스텀 규칙을 구성하지 않으면 기본 동작이 사용됩니다.

정규식 패턴 정의#

히스토리
  • GitLab 17.6에서 통합 이름이 Jira issues로 변경되었습니다.

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

Jira 이슈 키에 대한 정규식 패턴을 정의하려면 다음과 같이 진행합니다.

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Settings > Integrations를 선택합니다.
  3. Jira issues를 선택합니다.
  4. Jira issue matching 섹션으로 이동합니다.
  5. Jira issue regex 텍스트 상자에 정규식 패턴을 입력합니다.
  6. Save changes를 선택합니다.

자세한 내용은 Atlassian 문서를 참고합니다.

접두사 정의#

히스토리
  • GitLab 17.6에서 통합 이름이 Jira issues로 변경되었습니다.

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

Jira 이슈 키에 대한 접두사를 정의하려면 다음과 같이 진행합니다.

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Settings > Integrations를 선택합니다.
  3. Jira issues를 선택합니다.
  4. Jira issue matching 섹션으로 이동합니다.
  5. Jira issue prefix 텍스트 상자에 접두사를 입력합니다.
  6. Save changes를 선택합니다.

GitLab에서 Jira 이슈 닫기#

GitLab transition ID를 구성했다면 GitLab에서 직접 Jira 이슈를 닫을 수 있습니다. 커밋이나 머지 리퀘스트에서 트리거 단어 뒤에 Jira 이슈 ID를 사용합니다. 트리거 단어와 Jira 이슈 ID가 포함된 커밋을 푸시하면 GitLab은 다음을 수행합니다.

  1. 멘션된 Jira 이슈에 댓글을 답니다.
  2. Jira 이슈를 닫습니다. Jira 이슈에 resolution 이 있으면 전환(transition)되지 않습니다.

예를 들어 Jira 이슈 PROJECT-1을 닫으려면 다음 트리거 단어 중 하나를 사용합니다.

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

커밋이나 머지 리퀘스트는 프로젝트의 기본 브랜치를 대상으로 해야 합니다. 프로젝트의 기본 브랜치는 프로젝트 설정에서 변경할 수 있습니다.

브랜치 이름이 Jira 이슈 ID와 일치하면 기존 머지 리퀘스트 템플릿에 Closes 가 자동으로 추가됩니다. 이슈를 닫지 않으려면 이슈 자동 닫기를 비활성화합니다.

이슈 닫기 사용 사례#

다음 예시를 살펴봅니다.

  1. 사용자가 새 기능을 요청하기 위해 Jira 이슈 PROJECT-7을 생성합니다.
  2. 요청된 기능을 구현하기 위해 GitLab에서 머지 리퀘스트를 생성합니다.
  3. 머지 리퀘스트에 이슈 닫기 트리거 Closes PROJECT-7을 추가합니다.
  4. 머지 리퀘스트가 머지되면:
    • GitLab 이 대신 Jira 이슈를 닫습니다.
    • GitLab 이 이슈를 해결한 커밋으로 다시 연결되는 형식화된 댓글을 Jira에 추가합니다. 댓글을 비활성화할 수 있습니다.

이슈 자동 전환#

자동 이슈 전환을 구성하면 참조된 Jira 이슈를 Done 카테고리에 속하는 다음 사용 가능한 상태로 전환할 수 있습니다. 이 설정을 구성하려면 다음과 같이 진행합니다.

  1. GitLab 구성 안내를 참고합니다.
  2. Enable Jira transitions 체크박스를 선택합니다.
  3. Move to Done을 선택합니다.

커스텀 이슈 전환#

고급 워크플로의 경우 커스텀 Jira transition ID를 지정할 수 있습니다.

  1. Jira 구독 상태에 따라 방법을 사용합니다.

    • Jira Cloud 사용자의 경우: Text 보기에서 워크플로를 편집하여 transition ID를 확인합니다. transition ID는 Transitions 칼럼에 표시됩니다.
    • Jira Server 사용자의 경우: 다음 방법 중 하나로 transition ID를 확인합니다.
      • https://yourcompany.atlassian.net/rest/api/2/issue/ISSUE-123/transitions와 같은 요청으로 API를 사용하며, 적절한 "open" 상태에 있는 이슈를 사용합니다.
      • 원하는 전환의 링크에 마우스를 올려 URL의 action 파라미터를 확인합니다.

    전환하려는 상태가 동일하더라도 워크플로(예: story 대신 bug)에 따라 transition ID가 다를 수 있습니다.

  2. GitLab 구성 안내를 참고합니다.

  3. Enable Jira transitions 설정을 선택합니다.

  4. Custom transitions를 선택합니다.

  5. 텍스트 필드에 transition ID를 입력합니다. 여러 transition ID를 , 또는 ;로 구분해 입력하면 지정한 순서대로 이슈가 각 상태로 차례로 이동합니다. 전환이 실패하면 시퀀스가 중단됩니다.

Jira 이슈에서 댓글 비활성화#

GitLab은 Jira 이슈에 댓글을 추가하지 않고도 소스 커밋이나 머지 리퀘스트를 Jira 이슈와 상호 링크할 수 있습니다.

  1. GitLab 구성 안내를 참고합니다.
  2. Enable comments 체크박스를 선택 해제합니다.