Github Issue Form

Github를 사용하면서 주로 이슈 템플릿을 활용하여 이슈를 관리 했었는데, Github Foundations를 공부하면서 다른 형식으로 이슈 관리를 제공하는 Issue Form에 대해 알게되어 소개하고자 글을 포스팅 합니다.

이미 Github Issue Template를 사용해 본 경험이 있고, Github에 친숙한 분들을 대상으로 빠르게 글을 작성해봅니다.

Issue Form 생성하기

Issue Form은 기존 이슈 템플릿과 동일하게 레포지토리 내의 .github/ISSUE_TEMPLATE/ 경로에서 이슈 폼 파일을 정의할 수 있습니다.

사용하고자 하는 폼의 유형에 따라 .yml 파일을 정의하면 되는데, Github 문서 에서 제공하는 기본 이슈 폼을 그대로 작성해보겠습니다.

아래의 내용으로 .github/ISSUE_TEMPLATE/bug.yml 파일을 생성 합니다.

 

자세한 yml 파일 구성 양식은 Github Issue Form 공식 문서에서 확인할 수 있습니다.

https://docs.github.com/ko/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms

name: Bug Report
description: File a bug report.
title: "[Bug]: "
labels: ["bug", "triage"]
projects: ["octo-org/1", "octo-org/44"]
assignees:
  - octocat
body:
  - type: markdown
    attributes:
      value: |
        Thanks for taking the time to fill out this bug report!
  - type: input
    id: contact
    attributes:
      label: Contact Details
      description: How can we get in touch with you if we need more info?
      placeholder: ex. email@example.com
    validations:
      required: false
  - type: textarea
    id: what-happened
    attributes:
      label: What happened?
      description: Also tell us, what did you expect to happen?
      placeholder: Tell us what you see!
      value: "A bug happened!"
    validations:
      required: true
  - type: dropdown
    id: version
    attributes:
      label: Version
      description: What version of our software are you running?
      options:
        - 1.0.2 (Default)
        - 1.0.3 (Edge)
      default: 0
    validations:
      required: true
  - type: dropdown
    id: browsers
    attributes:
      label: What browsers are you seeing the problem on?
      multiple: true
      options:
        - Firefox
        - Chrome
        - Safari
        - Microsoft Edge
  - type: textarea
    id: logs
    attributes:
      label: Relevant log output
      description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
      render: shell
  - type: checkboxes
    id: terms
    attributes:
      label: Code of Conduct
      description: By submitting this issue, you agree to follow our [Code of Conduct](https://example.com). 
      options:
        - label: I agree to follow this project's Code of Conduct
          required: true

 

 

성공적으로 레포지토리 내에 파일을 생성 한 경우, Github에서 새로운 이슈를 생성하면 다음과 같이 이슈 폼을 선택할 수 있습니다.

 

 

 

이슈 생성 화면을 보면 기존 이슈 템플릿보다 편리하고 구조화된 이슈를 생성하는 폼을 제공합니다. 

 

 

생성된 이슈는 이슈 템플릿으로 생성한 형식과 동일하게 표시됩니다.

 

 

이슈폼을 직접 생성해보면서 느낀점은 이슈의 형식에 좀더 제한을 두어, 더욱더 강력하고 편리하게 이슈를 관리할 수 있겠다고 느꼈습니다. 다음에 Github 에서 프로젝트를 관리할 일이 생긴다면, 이슈 폼을 적극 도입하지 않을까 합니다.

 

또한, 현재 이슈 폼은 베타 버전으로 언제든지 변경될 가능성이 있다고 합니다.

+ Recent posts