기본 문제 템플릿을 만들고 조직 또는 개인 계정에 대한 문제 템플릿의 기본 구성 파일을 만들 수 있습니다. 자세한 내용은 "Creating a default community health file(기본 커뮤니티 상태 파일 만들기)"을(를) 참조하세요.
문제 템플릿 만들기
-
GitHub에서 리포지토리의 기본 페이지로 이동합니다.
-
리포지토리 이름 아래에서 Settings(설정)를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.
-
“기능” 섹션의 문제에서 템플릿 설정을 클릭합니다. 단추를 보려면 문제를 허용하고 페이지를 새로 고쳐야 할 수도 있습니다.
-
템플릿 추가 드롭다운 메뉴를 사용하여 만들려는 템플릿 유형을 클릭합니다.
-
리포지토리에 커밋하기 전에 템플릿을 미리 보거나 편집하려면 템플릿 옆에 있는 미리 보기 및 편집을 클릭합니다.
-
템플릿을 편집하려면 을(를) 클릭하고 필드에 입력하여 콘텐츠를 편집합니다.
-
기본 문제 제목을 자동으로 설정하거나, 리포지토리에 대한 읽기 권한이 있는 사용자에게 문제를 할당하거나, 템플릿에 발생한 문제에 레이블을 적용하려면 “선택적 추가 정보” 아래에 있는 필드를 사용합니다. YAML Frontmatter 형식의
title
,labels
또는assignees
을(를) 사용하여 문제 템플릿에 이러한 세부 정보를 추가할 수도 있습니다. -
템플릿 수정 및 미리 보기가 끝나면 페이지 오른쪽 위에 있는 변경 내용 제안을 클릭합니다.
-
"메시지 커밋" 필드에 변경 내용을 설명하는 커밋 메시지 입력합니다.
-
커밋 메시지 필드 아래에서 템플릿을 기본 분기에 직접 커밋할지 또는 새 분기를 만들고 끌어오기 요청을 열 것인지 결정합니다. 끌어오기 요청에 대한 자세한 내용은 "끌어오기 요청 정보"을(를) 참조하세요.
-
변경 내용 커밋을 클릭합니다. 이러한 변경 내용이 기본 분기에 병합되면 참가자가 리포지토리에서 새 문제를 열 때 사용할 수 있는 템플릿이 제공됩니다.
문제 양식 만들기
참고: 문제 양식은 현재 공개 미리 보기 버전이며 변경될 수 있습니다.
문제 양식을 사용하면 사용자 지정 가능한 웹 양식 필드가 있는 문제 템플릿을 만들 수 있습니다. 리포지토리에서 문제 양식을 사용하여 기여자가 특정하고 구조화된 정보를 포함하도록 장려할 수 있습니다. 문제 양식은 GitHub 양식 스키마를 사용하여 YAML로 작성됩니다. 자세한 내용은 "GitHub 양식 스키마 구문"을(를) 참조하세요. YAML을 처음 사용하며 자세히 알아보려는 경우 “Y분 안에 YAML 알아보기”를 참조하세요.
리포지토리에서 문제 양식을 사용하려면 새 파일을 만들고 리포지토리의 .github/ISSUE_TEMPLATE
폴더에 추가해야 합니다.
다음은 문제 양식 구성 파일의 예입니다.
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
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/ISSUE_TEMPLATE/FORM-NAME.yml
파일을 만들고FORM-NAME
을(를) 문제 양식의 이름으로 바꿉니다. GitHub에서 새 파일을 만드는 방법에 대한 자세한 내용은 "새 파일 만들기"을(를) 참조하세요. - 새 파일의 본문에 문제 양식의 내용을 입력합니다. 자세한 내용은 "문제 양식 구문"을(를) 참조하세요.
- 파일을 리포지토리의 기본 분기에 커밋합니다. 자세한 정보는 "새 파일 만들기"을(를) 참조하세요.
템플릿 선택기 구성
.github/ISSUE_TEMPLATE
폴더에 config.yml
파일을 추가하여 사용자가 리포지토리에서 새 이슈를 만들 때 표시되는 이슈 템플릿 선택기를 사용자 지정할 수 있습니다.
blank_issues_enabled
을(를) false
(으)로 설정하여 기여자가 문제 템플릿을 사용하도록 권장할 수 있습니다. blank_issues_enabled
을(를) true
(으)로 설정하면 사람들이 빈 문제를 열 수 있는 옵션을 갖게 됩니다.
참고: 레거시 워크플로를 사용하여 .github
폴더에 issue_template.md
파일을 수동으로 만들고 config.yml 파일에서 빈 문제를 사용하도록 설정한 경우 사용자가 빈 문제를 열기로 선택할 때 issue_template.md
의 템플릿이 사용됩니다. 빈 문제를 사용하지 않도록 설정하면 템플릿이 사용되지 않습니다.
GitHub을 외부에서 특정 보고서를 받으려면 사용자를 외부 사이트로 contact_links
을(를) 보낼 수 있습니다.
다음은 config.yml 파일 예제입니다.
blank_issues_enabled: false contact_links: - name: GitHub Community Support url: https://github.com/orgs/community/discussions about: Please ask and answer questions here. - name: GitHub Security Bug Bounty url: https://bounty.github.com/ about: Please report security vulnerabilities here.
blank_issues_enabled: false
contact_links:
- name: GitHub Community Support
url: https://github.com/orgs/community/discussions
about: Please ask and answer questions here.
- name: GitHub Security Bug Bounty
url: https://bounty.github.com/
about: Please report security vulnerabilities here.
구성 파일은 파일이 리포지토리의 기본 분기에 병합될 때 템플릿 선택기를 사용자 지정합니다.
-
GitHub에서 리포지토리의 기본 페이지로 이동합니다.
-
파일 목록 위에서 파일 추가 드롭다운 메뉴를 선택하고 새 파일 만들기를 클릭합니다.
또는 왼쪽의 파일 트리 보기에서 을(를) 클릭합니다.
-
파일 이름 필드에
.github/ISSUE_TEMPLATE/config.yml
을(를) 입력합니다. -
새 파일의 본문에 구성 파일의 내용을 입력합니다.
-
변경 내용 커밋... 을 클릭합니다.
-
"커밋 메시지" 필드에, 파일의 변경 내용을 설명하는 커밋 메시지를 간결하고 명확하게 입력합니다. 커밋 메시지에서 둘 이상의 작성자가 커밋의 특성을 지정할 수 있습니다. 자세한 내용은 "여러 작성자와 커밋 만들기"을(를) 참조하세요.
-
커밋 메시지 필드 아래에서 현재 분기 또는 새 분기에 커밋을 추가할지 여부를 결정합니다. 현재 분기가 기본 분기인 경우 커밋에 대한 새 분기를 만든 다음 끌어오기 요청을 만들도록 선택해야 합니다. 자세한 내용은 "끌어오기 요청 만들기"을(를) 참조하세요.
-
변경 내용 커밋 또는 변경 내용 제안을 클릭합니다.
템플릿 순서 변경
문제 템플릿이 템플릿 선택기에 표시되는 순서를 설정할 수 있습니다. 템플릿 파일 이름을 변경하면 됩니다. .github/ISSUE_TEMPLATE
내의 템플릿은 영숫자 기준으로 목록으로 기재되며 파일 유형에 따라 그룹으로 묶입니다. YAML 파일이 Markdown 파일 앞에 표시됩니다.
템플릿 순서를 제어하려면 파일 이름 앞에 숫자를 접두사로 붙이세요. 예: 1-bug.yml
, 2-feature-request.yml
및 3-epic.yml
.
템플릿이 10개가 넘는 경우, 영숫자로 순서를 지정하면 11-bug.yml
이 1-feature.yml
과 2-support.yml
사이에 위치하게 됩니다. 원하는 순서를 유지하려면 숫자 형식의 파일 이름 앞에 추가로 0
을 접두사로 붙이면 됩니다. 예: 01-feature.yml
, 02-support.yml
및 11-bug.yml
.