본문 바로가기
VCS/GitHub

깃허브 Issues

by Jinger 2023. 4. 13.

서론

    GitHub의 이슈(issues)는 프로젝트 관리를 위한 툴 중 하나이다. 이슈는 소프트웨어 개발 및 유지보수를 위한 작업 목록, 버그 추적, 기능 개발, 코드 검토 등을 포함하는 모든 작업 항목을 나타낸다. 이슈를 사용하면 프로젝트 관리자와 참여자가 프로젝트 관리를 보다 효율적으로 수행할 수 있다. 


Issues

    이슈(issues)는 GitHub에서 프로젝트 관리를 위한 기능으로, 소프트웨어 개발 및 유지보수를 위한 작업 목록, 버그 추적, 기능 개발, 코드 검토 등을 포함하는 모든 작업 항목을 말한다. 

세팅하기

     Issues창이 없다면 "Settings">"General">"Features">"Issues"로 이슈창을 활성화할 수 있다.

    만약 같이 협업을 하는 사람이 깃허브에 이슈를 등록 및 assign, label 설정 권한이 없어서 이슈를 생성하지 못한다면 "Setting">"Access">"Collaborators and team">"Manage access"에서 권한을  Triage 이상으로 부여하면 된다.

생성하기

    이슈를 생성하여 해당 프로젝트에 무슨 이슈가 있었는지 알려주고 누가 담당할 문제인지 등이 있는지 보여준다. 이슈창 오른쪽 상단에 있는 "New issue"를 통해 이슈를 생성창으로 이동한다.

   기본적으로 제목만 적으면 "Submit new issuse"를 통해 이슈를 생성할 수 있다. 추가적으로 우측에 Assignees, Labels, Projects, Milestone을 설정할 수 있다. 이러한 기능들은 이슈를 보다 효과적으로 관리하고, 프로젝트를 보다 체계적으로 진행할 수 있도록 도와준다. 이슈 창에서 이러한 기능들을 적극적으로 활용하여 프로젝트를 관리하는 것이 좋다. 간단한 이슈라 할지라도 최소한 Label은 붙여주는 것이 좋다.

  • Assignees: 이슈를 처리하는 담당자를 지정하는 기능이다. 이슈에 해당하는 작업이나 문제를 처리할 담당자를 지정하여 책임과 역할을 분담할 수 있다. 이슈가 업데이트될 때마다 자동으로 담당자에게 이메일을 보낸다.
  • Labels: 이슈의 카테고리를 지정하는 기능이다. 이슈에 대한 카테고리를 지정하여 쉽게 분류하고 검색할 수 있다. 예를 들어 "bug", "enhancement", "documentation" 등과 같은 카테고리를 지정할 수 있다.
  • Projects: 이슈를 프로젝트에 연결하여 관리할 수 있는 기능이다. 프로젝트 관리를 위해 이슈를 그룹화하고, 작업 우선순위를 지정하고, 일정을 계획할 수 있다.
  • Milestone: 이슈를 달성하기 위한 중간 목표를 지정하는 기능이다. 이슈를 처리하기 위한 작업이 여러 단계로 나뉠 경우, 각각의 중간 목표를 지정하여 작업의 진척 상황을 파악하고 일정을 계획할 수 있다.
  • Development: 개발과 관련된 정보를 보는 기능이다. 이 기능을 사용하면 이슈와 관련된 브랜치, 풀 리퀘스트, 커밋 등을 확인할 수 있다.

닫기(Close)

    해당 이슈가 끝났을 경우 "Close issue"를 통해 이슈를 닫을 수 있고, 닫은 이슈들은 따로 보관이 된다. 그리고 실수로 잘못 닫더라도 다시 이슈화할 수 있다.

삭제하기(Delete)

    만약, 이슈를 잘 못 만들었고 기록에 남길 필요가 없다면, "Delete issue"를 통해 완전히 지울 수 있다.

기타

     아래와 같이 이슈에 업데이트가 생기면 이슈 아래에 자동으로 글이 남겨지게 된다. 그리고 "Edit"버튼을 클릭 시 이슈의 이름을 바꿀 수 있으며, 이슈에 "..."을 클릭 시 이슈의 내용을 편집할 수 있다. 이외에 기능들은 아래와 같다.

  • Notifications: 이슈에 대한 업데이트 정보를 받을 수 있는 기능이다. 이 기능을 사용하면 이슈와 관련된 업데이트 정보를 이메일이나 GitHub 알림을 통해 실시간으로 받을 수 있다.
  • Pin issue: 중요한 이슈를 상단에 고정하는 기능이다. 이 기능을 사용하면 프로젝트에서 가장 중요한 이슈를 상단에 놓고, 모든 사용자가 쉽게 확인할 수 있다.
  • Lock conversation: 이슈에 대한 토론을 잠그는 기능이다. 이 기능을 사용하면 이슈에 대한 논의가 끝났을 때, 이슈에 대한 추가 논의나 변경이 불가능하게 할 수 있다.
  • Transfer issue: 이슈를 다른 프로젝트로 이동시키는 기능이다. 이 기능을 사용하면 이슈가 다른 프로젝트로 이동할 때, 모든 이슈와 관련된 데이터가 함께 이동한다.


라벨(Label)

    라벨은 이슈와 풀 리퀘스트를 더 잘 구분할 수 있도록 도와주는 색상 또는 텍스트로 구성된 태그이다. 라벨은 이슈 또는 풀 리퀘스트의 적절한 유형을 식별하고, 그것이 어떤 작업 또는 상태인지를 나타내는 데 사용된다.

    기본적으로 아래와 같은 라벨을 제공해 준다.

  • bug: 소프트웨어 버그 또는 오류를 나타내는 라벨
  • documentation: 문서 작성 또는 문서 관련 이슈를 나타내는 라벨
  • duplicate: 해당 이슈나 pull request 가 이미 존재를 나타내는 라벨
  • enhancement: 새로운 기능을 요청하거나 개선 사항을 나타내는 라벨
  • good first issue: 처음 기여할 수 있는 새로운 개발자들이 쉽게 시작할 수 있는 오픈 소스 프로젝트의 이슈 라벨
  • help wanted: 도움이 필요한 상태인 것을 나타내는 라벨
  • invaild: 잘못된 것을 나타내는 라벨
  • question: 질문 및 추가적인 정보가 필요한 라벨
  • wonfix: 작업되지 않은 것을 가리키는 라벨

     만약 위와 같은 라벨이 필요 없는 경우 Delete로 삭제하거나 Edit으로 편집이 가능하다. 추가적으로 라벨을 생성하고 싶을 때 "New label"버튼을 눌러 필요한 라벨을 만들고, 설명을 붙이고, 색상을 직접 지정해 줄 수 있다.


마일스톤(Milestone)

     마일스톤은 GitHub 프로젝트에서 작업을 추적하고 일정을 계획하는 데 사용되는 기능 중 하나이다. 일반적으로 프로젝트에서 이루어져야 하는 작업이 많은 경우, 이러한 작업을 여러 단계로 나누어 각각의 중간 목표를 지정할 필요가 있습니다. 이때 마일스톤을 사용하여 중간 목표를 설정할 수 있습니다.

 마일스톤은 이슈창에 "New issue" 버튼 좌측에 "Milestones"를 통해 마일스톤창으로 들어갈 수 있다. 해당 창에서 "New milestone" 혹은 "Create milestone"를 통해 생성 가능하다.

 


이슈 템플릿(Issue Template)

    이슈 템플릿은 새로운 이슈를 작성할 때, 기본적인 형식을 미리 지정해놓은 템플릿이다. 이슈 템플릿을 사용하면 프로젝트 팀은 새로운 이슈를 쉽게 작성하고, 일관성 있는 이슈를 작성할 수 있으며, 필요한 정보를 빠르게 수집할 수 있다.

"Settings">"General">"Features">"Issues"에 가면 "Set up templates"버튼을 누르면 생성창으로 이동한다.

      아래 템플릿 중 필요한 템플릿을 생성한다. "Custom template"으로 본인이 원하는 템플릿을 만들 수 있다. 생성 후 "Preview and edit"으로 편집이 가능하며, 필요없어진 경우 쓰레기통 버튼을 통해 삭제도 가능하다. 이 곳에 변경이 생긴다면 "Propose changes"를 통해 저장을 한다. 만약 저장하지 않으면 생성한 템플릿들은 사라진다.

     이슈창에서 "New issue"를 누르면 아래와 같이 템플릿을 고를 수 있다.


주섬주섬

     기본적으로 깃헙에 글 쓰는 공간은 모두 마크다운 문법을 따른다.

참고

 

GitHub 문제 설명서 - GitHub Docs

GitHub Issues를 사용하여 작업을 계획하고 추적하는 방법을 알아봅니다.

docs.github.com

 

반응형

'VCS > GitHub' 카테고리의 다른 글

Git 간단 사용 방법  (0) 2024.07.10
깃허브 Wiki  (0) 2023.04.17
깃허브 Project  (0) 2023.04.17
깃허브 Discussion  (0) 2023.04.16
GitHub 시작하기  (0) 2023.03.22

댓글