이슈 관리

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

이슈를 만든 후에 해당 이슈를 수정할 수 있습니다.

이슈 편집

이슈의 제목과 설명을 편집할 수 있습니다.

필수 조건:

  • 프로젝트에서 적어도 Reporter 역할을 갖고 있어야 하거나, 이슈의 작성자이거나, 이슈에 할당된 사람이어야 합니다.

이슈를 편집하려면:

  1. 왼쪽 사이드 바에서 검색 또는 이동을 선택하여 프로젝트를 찾습니다.
  2. Plan > 이슈를 선택한 다음 이슈 제목을 선택하여 이를 볼 수 있습니다.
  3. 제목의 오른쪽에서 제목 및 설명 편집을 선택합니다 ().
  4. 사용 가능한 필드를 편집합니다.
  5. 변경 사항 저장을 선택합니다.

작업 디렉터리 항목 제거

필수 조건:

  • 프로젝트에서 적어도 Reporter 역할을 가져야 하거나, 이슈의 작성자 또는 담당자여야 합니다.

작업 디렉터리 항목을 포함한 이슈 설명에서:

  1. 작업 디렉터리 항목 위로 마우스를 올리고 옵션 메뉴를 선택합니다 ().
  2. 삭제를 선택합니다.

작업 디렉터리 항목이 이슈 설명에서 제거됩니다. 모든 중첩된 작업 디렉터리 항목은 중첩 수준이 상향 조정됩니다.

프로젝트에서 이슈 일괄 편집

프로젝트에 있을 때 여러 이슈를 한꺼번에 편집할 수 있습니다.

필수 조건:

  • 프로젝트에서 적어도 Reporter 역할을 가져야 합니다.

동시에 여러 이슈를 편집하려면:

  1. 왼쪽 사이드 바에서 검색 또는 이동을 선택하여 프로젝트를 찾습니다.
  2. Plan > 이슈를 선택합니다.
  3. 일괄 편집을 선택합니다. 화면 오른쪽에 사이드바가 나타납니다.
  4. 편집할 각 이슈 옆의 확인란을 선택합니다.
  5. 사이드바에서 사용 가능한 필드를 편집합니다.
  6. 선택한 항목 업데이트를 선택합니다.

프로젝트에서 이슈를 일괄 편집할 때 다음 속성을 편집할 수 있습니다:

그룹에서 이슈 일괄 편집

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

그룹에 있을 때 여러 프로젝트를 대상으로 여러 이슈를 한꺼번에 편집할 수 있습니다.

필수 조건:

  • 그룹에 대해 적어도 Reporter 역할을 가져야 합니다.

동시에 여러 이슈를 편집하려면:

  1. 왼쪽 사이드 바에서 검색 또는 이동을 선택하여 그룹을 찾습니다.
  2. Plan > 이슈를 선택합니다.
  3. 일괄 편집을 선택합니다. 화면 오른쪽에 사이드바가 나타납니다.
  4. 편집할 각 이슈 옆의 확인란을 선택합니다.
  5. 사이드바에서 사용 가능한 필드를 편집합니다.
  6. 선택한 항목 업데이트를 선택합니다.

그룹에서 이슈를 일괄 편집할 때 다음 속성을 편집할 수 있습니다:

이슈 이동

이슈를 이동하면 해당 이슈에 대한 사본이 생성되고 대상 프로젝트로 이동됩니다. 원래 이슈는 삭제되지 않습니다. 어디에서 왔는지와 어디로 갔는지를 나타내는 시스템 노트가 두 이슈에 추가됩니다.

이슈를 다른 프로젝트로 이동할 때는 다른 액세스 규칙을 가진 프로젝트로 이동할 경우 주의해야 합니다. 이슈를 이동하기 전에 민감한 데이터가 없는지 확인하세요.

필수 조건:

  • 프로젝트에서 적어도 Reporter 역할을 가져야 합니다.

이슈를 이동하려면:

  1. 왼쪽 사이드 바에서 검색 또는 이동을 선택하여 프로젝트를 찾습니다.
  2. Plan > 이슈를 선택한 다음 이슈를 선택하여 이를 볼 수 있습니다.
  3. 오른쪽 사이드 바에서 이슈 이동을 선택합니다.
  4. 이슈를 이동할 프로젝트를 검색합니다.
  5. 이동을 선택합니다.

부모 이슈 이동 시 작업 이동

History
자체 호스트된 GitLab의 경우 기본적으로 이 기능을 사용할 수 있습니다. 기능을 숨기려면 관리자가 move_issue_children이름의 피처 플래그를 비활성화할 수 있습니다. GitLab.com에서는 이 기능을 사용할 수 있습니다.

이 기능이 활성화되어 있는 경우 이슈를 다른 프로젝트로 이동하면 해당 이슈의 모든 하위 작업도 대상 프로젝트로 이동되어 이동된 이슈의 하위 작업으로 연결됩니다. 각 작업은 부모와 동일한 방식으로 이동되어, 즉, 원래 프로젝트에서는 닫히고 대상 프로젝트로 복사됩니다.

이슈 일괄 이동

Tier: Free, Premium, Ultimate Offering: Self-Managed, GitLab Dedicated

이슈 디렉터리에서

프로젝트에 있을 때 여러 이슈를 한꺼번에 이동할 수 있습니다. 작업 항목이나 테스트 케이스는 이동할 수 없습니다.

필수 조건:

  • 프로젝트에서 적어도 Reporter 역할을 가져야 합니다.

한꺼번에 여러 이슈를 이동하려면:

  1. 왼쪽 사이드 바에서 검색 또는 이동을 선택하여 프로젝트를 찾습니다.
  2. Plan > 이슈를 선택합니다.
  3. 일괄 편집을 선택합니다. 화면 오른쪽에 사이드바가 나타납니다.
  4. 이동하려는 각 이슈 옆의 확인란을 선택합니다.
  5. 오른쪽 사이드바에서 선택된 항목 이동을 선택합니다.
  6. 드롭다운 디렉터리에서 대상 프로젝트를 선택합니다.
  7. 이동을 선택합니다.

Rails 콘솔에서

한 프로젝트에서 다른 프로젝트로 모든 열린 이슈를 이동할 수 있습니다.

필수 조건:

  • GitLab 인스턴스의 Rails 콘솔에 액세스할 수 있어야 합니다.

수행하려면: 1. 선택 사항 (권장). 콘솔에서 제한을 시도하기 전에 백업을 만듭니다. 1. Rails 콘솔을 엽니다. 1. 다음 스크립트를 실행합니다. project, admin_user, target_project를 해당하는 값으로 변경해야 합니다.

   project = Project.find_by_full_path('이슈를 이동할 프로젝트의 전체 경로')
   issues = project.issues
   admin_user = User.find_by_username('관리자 사용자명') # 사용자가 이슈를 이동할 권한이 있어야 함
   target_project = Project.find_by_full_path('이슈를 이동할 대상 프로젝트의 전체 경로')
   
   issues.each do |issue|
      if issue.state != "closed" && issue.moved_to.nil?
         Issues::MoveService.new(container: project, current_user: admin_user).execute(issue, target_project)
      else
         puts "id가 #{issue.id}이고 제목이 '#{issue.title}'인 이슈가 이동되지 않았습니다"
      end
   end; nil
  1. Rails 콘솔을 나가려면 quit를 입력합니다.

이슈 설명의 디렉터리 항목 재정렬

이슈 설명에 디렉터리이 포함된 경우 해당 디렉터리 항목의 순서를 재정렬할 수 있습니다.

필수 조건:

  • 프로젝트에서 적어도 기고자 역할을 가지고 있거나 이슈의 작성자이거나 이슈에 할당된 사람이어야 합니다.
  • 이슈의 설명에는 순서가 지정된, 순서 없는 또는 할 일 디렉터리이 있어야 합니다.

이슈를 보고 있을 때 디렉터리 항목을 재정렬하려면:

  1. 디렉터리 항목 행 위로 마우스를 올려서 그립 아이콘이 () 표시되도록 합니다.
  2. 그립 아이콘을 선택하고 클릭한 채로 유지합니다.
  3. 행을 새 위치의 디렉터리으로 끌어옵니다.
  4. 그립 아이콘을 놓습니다.

이슈 닫기

이슈를 해결되었거나 더 이상 필요하지 않다고 판단하면 해당 이슈를 닫을 수 있습니다. 이슈는 닫힌 상태가 되지만 삭제되지는 않습니다.

필수 조건:

  • 프로젝트에서 적어도 기고자 역할을 가지고 있거나 이슈의 작성자이거나 이슈에 할당된 사람이어야 합니다.

이슈를 닫으려면 다음 중 하나를 수행할 수 있습니다:

  • 이슈 보드에서 이슈 카드를 해당 디렉터리에서 닫힘 디렉터리으로 끌어옵니다.
  • GitLab UI의 다른 페이지에서:
    1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
    2. 계획 > 이슈를 선택한 다음 이슈를 보려고 선택합니다.
    3. 오른쪽 상단에서 이슈 작업 ()을 선택한 다음 이슈 닫기를 선택합니다.

닫힌 이슈 다시 열기

필수 조건:

  • 프로젝트에서 적어도 기고자 역할을 가지고 있거나 이슈의 작성자이거나 이슈에 할당된 사람이어야 합니다.

닫힌 이슈를 다시 열려면 오른쪽 상단에서 이슈 작업 ()을 선택한 다음 이슈 다시 열기를 선택합니다. 다시 열린 이슈는 다른 열린 이슈와 별반 다르지 않습니다.

자동으로 이슈 닫기

커밋 메시지나 Merge Request 설명에 _닫는 패턴_이라고 하는 특정 단어를 사용하여 일부 단어를 이용하여 이슈를 자동으로 닫을 수 있습니다. 자체 호스팅된 GitLab 인스턴스의 관리자는 기본 닫는 패턴을 변경할 수 있습니다.

커밋이 프로젝트의 기본 브랜치로 푸시되거나 커밋 또는 Merge Request이 기본 브랜치로 Merge되면 일치하는 텍스트가 포함된이 커밋이 참조하는 모든 이슈가 닫힙니다.

예를 들어, Merge Request 설명에 Closes #4, #6, Related to #5를 포함하면:

  • MR이 Merge될 때 이슈 #4#6이 자동으로 닫힙니다.
  • 이슈 #5관련된 이슈로 표시되지만 자동으로 닫히지 않습니다.

또한, 이슈에서 Merge Request을 만들 때 이슈를 상속 받으면 이슈의 마일스톤과 레이블을 상속받습니다.

성능상의 이유로 기존 리포지터리의 첫 번째 푸시에 대해서는 자동 이슈 닫기가 비활성화됩니다.

기본 닫는 패턴

이슈를 자동으로 닫으려면 다음 키워드 다음에 이슈 참조를 사용합니다.

사용 가능한 키워드:

  • Close, Closes, Closed, Closing, close, closes, closed, closing
  • Fix, Fixes, Fixed, Fixing, fix, fixes, fixed, fixing
  • Resolve, Resolves, Resolved, Resolving, resolve, resolves, resolved, resolving
  • Implement, Implements, Implemented, Implementing, implement, implements, implemented, implementing

사용 가능한 이슈 참조 형식:

  • 로컬 이슈 (#123).
  • 프로젝트 간 이슈 (group/project#123).
  • 이슈의 전체 URL (https://gitlab.example.com/group/project/issues/123).

예시:

멋진 커밋 메시지

Fix #20, Fixes #21 and Closes group/otherproject#22.
This commit is also related to #17 and fixes #18, #19
and https://gitlab.example.com/group/otherproject/issues/23.

이전 커밋 메시지에서 이 커밋이 푸시된 프로젝트의 #18, #19, #20, #21을 그리고 group/otherproject#22#23를 자동으로 닫습니다. #17은 패턴과 일치하지 않기 때문에 닫히지 않습니다.

커밋 메시지나 명령줄의 일줄 설명에서 git commit -m을 사용하여 다중 라인 커밋 메시지에서 닫으려면 기본 이슈 닫는 패턴 정규식:

\b((?:[Cc]los(?:e[sd]?|ing)|\b[Ff]ix(?:e[sd]|ing)?|\b[Rr]esolv(?:e[sd]?|ing)|\b[Ii]mplement(?:s|ed|ing)?)(:?) +(?:(?:issues? +)?%{issue_ref}(?:(?: *,? +and +| *,? *)?)|([A-Z][A-Z0-9_]+-\d+))+)

자동 이슈 닫기 비활성화

  • 변경됨 in GitLab 15.4: 커밋 또는 Merge Request의 프로젝트가 아닌 참조된 이슈의 프로젝트 설정이 확인됩니다.

프로젝트 설정에서 프로젝트별로 자동 이슈 닫기 기능을 비활성화할 수 있습니다. 이미 닫힌 이슈는 그대로 유지되지만 참조된 이슈는 자동으로 닫히지 않습니다.

필수 조건:

  • 프로젝트에서 적어도 유지자 역할을 가지고 있어야 합니다.

자동 이슈 닫기를 비활성화하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 설정 > 리포지터리를 선택합니다.
  3. 브랜치 기본값을 확장합니다.
  4. 기본 브랜치에서 참조된 이슈 자동 닫기 확인란을 선택 해제합니다.
  5. 변경 사항 저장을 선택합니다.

참조된 이슈는 표시되지만 자동으로 닫히지 않습니다.

변경 사항은 새로운 Merge Request 또는 커밋에만 적용됩니다. 이미 닫힌 이슈는 그대로 있습니다. 자동 이슈 닫기를 비활성화하는 것은 해당 설정이 비활성화된 프로젝트의 이슈에만 적용됩니다. 이 프로젝트의 Merge Request과 커밋은 다른 프로젝트의 이슈를 여전히 닫을 수 있습니다.

이슈 닫는 패턴 사용자 정의

Tier: Free, Premium, Ultimate Offering: Self-Managed, GitLab Dedicated

필수 조건:

설치의 기본 이슈 닫는 패턴을 변경하는 방법을 알아봅니다.

이슈 유형 변경

필수 조건:

  • 이슈의 작성자이거나 프로젝트에서 적어도 기고자 역할을 가지고 있거나 이슈에 할당된 사람이어야 합니다.

이슈 유형 변경:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 계획 > 이슈를 선택한 다음 이슈를 보려고 선택합니다.
  3. 제목 오른쪽에서 제목 및 설명 편집 ()을 선택합니다.
  4. 이슈를 편집하고 이슈 유형 드롭다운 디렉터리에서 이슈 유형을 선택합니다:

  5. 변경 사항 저장을 선택합니다.

이슈 삭제

필수 조건:

  • 프로젝트의 소유자 역할을 가지고 있어야 합니다.

이슈를 삭제하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 계획 > 이슈를 선택한 다음 이슈의 제목을 선택하여 보여줍니다.
  3. 오른쪽 상단에서 이슈 작업 ()을 선택합니다.
  4. 이슈 삭제를 선택합니다.

또는:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 계획 > 이슈를 선택한 다음 이슈의 제목을 선택합니다.
  3. 제목 및 설명 편집 ()을 선택합니다.
  4. 이슈 삭제를 선택합니다.

이슈를 에픽으로 승격

Tier: Premium, Ultimate Offering: GitLab.com, 셀프매니지드, GitLab Dedicated

당사는 즉시 상위 그룹의 에픽으로 이슈를 승격할 수 있습니다.

note
기밀 이슈를 에픽으로 승격하면 모든 정보가 공개되어 해당 이슈에 관련된 정보가 모든 그룹 멤버에게 공개됩니다.

이슈를 에픽으로 승격하면:

  • 이슈가 기밀이었던 경우 추가 경고가 먼저 표시됩니다.
  • 해당 이슈의 프로젝트 그룹과 동일한 그룹에 에픽이 생성됩니다.
  • 이슈의 구독자에게 에픽이 생성되었다는 알림이 전송됩니다.

다음 이슈 메타데이터가 에픽으로 복사됩니다:

  • 제목, 설명, 활동 및 코멘트 스레드
  • 좋아요 및 싫어요
  • 참여자
  • 이슈가 가진 그룹 레이블
  • 상위 에픽

전제 조건:

  • 이슈가 속한 프로젝트는 그룹에 있어야 합니다.
  • 프로젝트의 즉시 상위 그룹에서 적어도 리포터 역할을 가져야 합니다.
  • 다음 중 하나여야 합니다:
    • 프로젝트에 대해 적어도 리포터 역할을 가져야 합니다.
    • 이슈의 작성자여야 합니다.
    • 이슈에 할당되어 있어야 합니다.

이슈를 에픽으로 승격하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. Plan > 이슈를 선택한 다음 이슈를 선택하여 보십시오.
  3. 오른쪽 상단에서 이슈 조치 ()를 선택합니다.
  4. 에픽으로 승격을 선택합니다.

또는 /promote 빠른 조치를 사용할 수 있습니다.

ID로 이슈 필터링하기

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. Plan > 이슈를 선택합니다.
  3. 검색 상자에 이슈 ID를 입력합니다. 예를 들어, #10을 입력하여 이슈 10만 반환합니다.

특정 ID로 이슈 필터링

이슈 참조 복사

GitLab의 다른 곳에서 이슈를 참조하려면 전체 URL이나 namespace/project-name#123과 같이 보이는 짧은 참조를 사용할 수 있습니다. 여기서 namespace는 그룹이나 사용자 이름 중 하나입니다.

이슈 참조를 클립보드에 복사하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. Plan > 이슈를 선택한 다음 보려는 이슈를 선택합니다.
  3. 참조 옆에 있는 복사를 선택합니다 ().

이제 참조를 다른 설명이나 코멘트에 붙여넣을 수 있습니다.

GitLab-Flavored Markdown에서 이슈 참조에 대해 자세히 알아보세요.

이슈 이메일 주소 복사

이메일을 보내어 이슈에 코멘트를 작성할 수 있습니다. 이 주소로 이메일을 보내면, 해당 이메일 내용을 포함하는 코멘트가 작성됩니다.

이슈 이메일 주소를 복사하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. Plan > 이슈를 선택한 다음 보려는 이슈를 선택합니다.
  3. 오른쪽 사이드바에서 이슈 이메일 옆에 있는 복사를 선택합니다 ().

담당자

이슈를 하나 이상의 사용자에게 할당할 수 있습니다.

담당자는 필요에 따라 자주 변경할 수 있습니다. 담당자는 해당 이슈에 책임이 있는 사람들입니다. 이슈가 누군가에게 할당되면 그 사람의 할당된 이슈 디렉터리에 표시됩니다.

프로젝트의 구성원이 아닌 사용자는 해당 프로젝트의 구성원이 이슈를 생성하거나 다른 프로젝트 구성원이 그들에게 할당해야만 이슈를 할당할 수 있습니다.

이슈의 담당자를 변경하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. Plan > 이슈를 선택한 다음 보려는 이슈를 선택합니다.
  3. 오른쪽 사이드바에서 담당자 섹션에서 편집을 선택합니다.
  4. 드롭다운 디렉터리에서 추가할 사용자를 선택합니다.
  5. 드롭다운 디렉터리 외의 영역을 선택합니다.

페이지를 새로 고치지 않고도 담당자를 변경할 수 있습니다.

비슷한 이슈

동일한 주제의 이슈 중복을 방지하기 위해, GitLab은 새 이슈를 만들 때 비슷한 이슈를 검색합니다.

전제 조건:

  • GraphQL이 활성화되어 있어야 합니다.

새 이슈 페이지의 제목 텍스트 상자에 입력하는 대로, GitLab은 현재 프로젝트의 모든 이슈에서 제목과 설명을 검색합니다. 액세스할 수 있는 이슈만 반환됩니다. 최근 업데이트된 내용순으로 정렬된 최대 다섯 개의 유사한 이슈가 제목 텍스트 상자 아래에 표시됩니다.

상태 상태

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

계획을 따라가는 리스크를 더 잘 추적하기 위해 각 이슈에 상태 상태를 할당할 수 있습니다. 상태 상태를 사용하여 계획대로 진행되는지 아니면 일정에 따라 주의해야 하는 이슈인지 조짐을 제공할 수 있습니다.

이슈 상태 상태 검토를 일일 스탠드업 회의, 프로젝트 상태 보고 또는 주간 회의에 결합하여 계획된 작업의 적시적인 전달에 대한 위험을 대응하세요.

전제 조건:

  • 프로젝트에 대한 적어도 Reporter 역할이 있어야 합니다.

이슈의 상태 상태를 편집하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. Plan > 이슈를 선택한 다음 보려는 이슈를 선택합니다.
  3. 오른쪽 사이드바에서 상태 상태 섹션에서 편집을 선택합니다.
  4. 이슈에 추가할 상태를 드롭다운 디렉터리에서 선택합니다:

    • 계획대로 (녹색)
    • 주의 필요 (노랑)
    • 위험 (빨강)

상태 상태는 다음 위치에서 확인할 수 있습니다:

  • 이슈 디렉터리
  • Epic 트리
  • 이슈 보드의 이슈 카드

이슈가 닫힌 후에는 상태 상태를 편집할 수 없으며 편집 버튼이 비활성화되어 이슈가 다시 열릴 때까지 사용할 수 없습니다.

또한 /health_status/clear_health_status 빠른 조치를 사용하여 상태 상태를 설정하고 지울 수도 있습니다.

이슈 게시

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

프로젝트에 상태 페이지 애플리케이션이 연결되어 있다면, /publish 빠른 조치를 사용하여 이슈를 게시할 수 있습니다.

자세한 정보는 GitLab 상태 페이지를 참조하세요.

이슈 관련 빠른 조치

이슈를 관리하기 위해 빠른 조치를 사용할 수도 있습니다.

아직 대응하는 UI 버튼이 없는 작업도 있습니다. 다음을 수행할 수 있습니다 빠른 조치만 사용하여:

  • Zoom 회의 추가 또는 제거 (/zoom/remove_zoom).
  • 이슈를 동일한 프로젝트 또는 다른 프로젝트로 복제 (/clone).
  • 이슈를 닫고 다른 이슈의 중복으로 표시 (/duplicate).
  • 프로젝트의 다른 Merge Request이나 이슈에서 레이블 및 마일스톤 복사 (/copy_metadata).