Note
GitHub의 양식 스키마는 현재 베타 버전이며 변경될 수 있습니다.
GitHub의 양식 스키마 정보
GitHub의 양식 스키마를 사용하여 지원되는 기능에 대한 양식을 구성할 수 있습니다. 자세한 내용은 리포지토리에 대한 문제 템플릿 구성을(를) 참조하세요.
양식은 사용자 입력을 요청하기 위한 요소 집합입니다. 양식 요소의 배열인 YAML 양식 정의를 만들어 양식을 구성할 수 있습니다. 각 양식 요소는 요소의 형식, 요소의 속성, 요소에 적용할 제약 조건을 결정하는 키-값 쌍 집합입니다. 일부 키의 경우 값은 키-값 쌍의 또 다른 집합입니다.
예를 들어 다음 양식 정의에는 사용자의 운영 체제를 제공하기 위한 텍스트 영역, 사용자가 실행 중인 소프트웨어 버전을 선택하기 위한 드롭다운 메뉴, 사용 규정을 승인하는 확인란, 양식을 완료한 사용자에게 감사하는 Markdown 등 네 가지 양식 요소가 포함되어 있습니다.
- type: textarea attributes: label: Operating System description: What operating system are you using? placeholder: "Example: macOS Big Sur" value: operating system validations: required: true - type: dropdown attributes: label: Version description: What version of our software are you running? multiple: false options: - 1.0.2 (Default) - 1.0.3 (Edge) default: 0 validations: required: true - type: checkboxes attributes: label: Code of Conduct description: The Code of Conduct helps create a safe space for everyone. We require that everyone agrees to it. options: - label: I agree to follow this project's [Code of Conduct](link/to/coc) required: true - type: markdown attributes: value: "Thanks for completing our form!"
- type: textarea
attributes:
label: Operating System
description: What operating system are you using?
placeholder: "Example: macOS Big Sur"
value: operating system
validations:
required: true
- type: dropdown
attributes:
label: Version
description: What version of our software are you running?
multiple: false
options:
- 1.0.2 (Default)
- 1.0.3 (Edge)
default: 0
validations:
required: true
- type: checkboxes
attributes:
label: Code of Conduct
description: The Code of Conduct helps create a safe space for everyone. We require
that everyone agrees to it.
options:
- label: I agree to follow this project's [Code of Conduct](link/to/coc)
required: true
- type: markdown
attributes:
value: "Thanks for completing our form!"
구성
각 양식 요소에 대해 다음 키를 설정할 수 있습니다.
키 | 설명 | 필수 | Type | 기본값 | 유효한 값 |
---|---|---|---|---|---|
type | 정의하려는 요소의 형식입니다. | 문자열 |
| ||
id | type 이 markdown 으로 설정된 경우를 제외하고 요소의 식별자입니다. 영숫자, - , _ 만 사용할 수 있습니다. 양식 정의에서 고유해야 합니다. 제공되는 경우 id 는 URL 쿼리 매개 변수 미리 채우기의 필드에 대한 정규 식별자입니다. | 문자열 | |||
attributes | 요소의 속성을 정의하는 키-값 쌍 집합입니다. | 지도 | |||
validations | 요소에 대한 제약 조건을 설정하는 키-값 쌍 집합입니다. | 지도 |
다음 유형의 양식 요소 중에서 선택할 수 있습니다. 각 형식에는 고유한 특성 및 유효성 검사가 있습니다.
Type | 설명 |
---|---|
markdown | 사용자에게 추가 컨텍스트를 제공하기 위해 양식에 표시되지만 제출되지 않은 Markdown 텍스트입니다. |
textarea | 여러 줄 텍스트 필드. |
input | 단일 줄 텍스트 필드. |
dropdown | 드롭다운 메뉴. |
checkboxes | 확인란 집합. |
markdown
markdown
요소를 사용하여 사용자에게 추가 컨텍스트를 제공하지만 제출되지 않는 Markdown을 양식에 표시할 수 있습니다.
markdown
에 대한 특성
attributes
키 값에 대해 다음 키를 설정할 수 있습니다.
키 | 설명 | 필수 | Type | 기본값 | 유효한 값 |
---|---|---|---|---|---|
value | 렌더링되는 텍스트. Markdown 서식 지정이 지원됩니다. | 문자열 |
Tip
YAML 처리는 해시 기호를 주석으로 처리합니다. Markdown 헤더를 삽입하려면 텍스트를 따옴표로 묶습니다.
여러 줄 텍스트의 경우 파이프 연산자를 사용할 수 있습니다.
markdown
의 예
body: - type: markdown attributes: value: "## Thank you for contributing to our project!" - type: markdown attributes: value: | Thanks for taking the time to fill out this bug report.
body:
- type: markdown
attributes:
value: "## Thank you for contributing to our project!"
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report.
textarea
textarea
요소를 사용하여 양식에 여러 줄 텍스트 필드를 추가할 수 있습니다. 기여자는 textarea
필드에 파일을 첨부할 수도 있습니다.
textarea
에 대한 특성
attributes
키 값에 대해 다음 키를 설정할 수 있습니다.
키 | 설명 | 필수 | Type | 기본값 | 유효한 값 |
---|---|---|---|---|---|
label | 양식에도 표시되는 예상 사용자 입력에 대한 간략한 설명입니다. | 문자열 | |||
description | 양식에 표시되는 컨텍스트 또는 지침을 제공하는 텍스트 영역에 대한 설명입니다. | 문자열 | 빈 문자열 | ||
placeholder | 비어 있을 때 텍스트 영역에 렌더링되는 반투명 자리 표시자입니다. | 문자열 | 빈 문자열 | ||
value | 텍스트 영역에 미리 채워진 텍스트입니다. | 문자열 | |||
render | 값이 제공되면 제출된 텍스트의 서식이 코드 블록으로 지정됩니다. 이 키를 제공하면 파일 첨부 파일 또는 Markdown 편집을 위해 텍스트 영역이 확장되지 않습니다. | 문자열 | GitHub에 알려진 언어입니다. 자세한 내용은 언어 YAML 파일을 참조하세요. |
textarea
에 대한 유효성 검사
validations
키 값에 대해 다음 키를 설정할 수 있습니다.
키 | 설명 | 필수 | Type | 기본값 | 유효한 값 |
---|---|---|---|---|---|
required | 요소가 완료될 때까지 양식 제출을 방지합니다. 퍼블릭 리포지토리에서만 사용 가능. | Boolean | false |
textarea
의 예
body: - type: textarea id: repro attributes: label: Reproduction steps description: "How do you trigger this bug? Please walk us through it step by step." value: | 1. 2. 3. ... render: bash validations: required: true
body:
- type: textarea
id: repro
attributes:
label: Reproduction steps
description: "How do you trigger this bug? Please walk us through it step by step."
value: |
1.
2.
3.
...
render: bash
validations:
required: true
input
input
요소를 사용하여 양식에 단일 줄 텍스트 필드를 추가할 수 있습니다.
input
에 대한 특성
attributes
키 값에 대해 다음 키를 설정할 수 있습니다.
키 | 설명 | 필수 | Type | 기본값 | 유효한 값 |
---|---|---|---|---|---|
label | 양식에도 표시되는 예상 사용자 입력에 대한 간략한 설명입니다. | 문자열 | |||
description | 양식에 표시되는 컨텍스트 또는 지침을 제공하는 필드에 대한 설명입니다. | 문자열 | 빈 문자열 | ||
placeholder | 필드가 비어 있을 때 렌더링되는 반투명 자리 표시자입니다. | 문자열 | 빈 문자열 | ||
value | 필드에 미리 채워진 텍스트입니다. | 문자열 |
input
에 대한 유효성 검사
validations
키 값에 대해 다음 키를 설정할 수 있습니다.
키 | 설명 | 필수 | Type | 기본값 | 유효한 값 |
---|---|---|---|---|---|
required | 요소가 완료될 때까지 양식 제출을 방지합니다. 퍼블릭 리포지토리에서만 사용 가능. | Boolean | false |
input
의 예
body: - type: input id: prevalence attributes: label: Bug prevalence description: "How often do you or others encounter this bug?" placeholder: "Example: Whenever I visit the personal account page (1-2 times a week)" validations: required: true
body:
- type: input
id: prevalence
attributes:
label: Bug prevalence
description: "How often do you or others encounter this bug?"
placeholder: "Example: Whenever I visit the personal account page (1-2 times a week)"
validations:
required: true
dropdown
dropdown
요소를 사용하여 양식에 드롭다운 메뉴를 추가할 수 있습니다.
dropdown
에 대한 특성
attributes
키 값에 대해 다음 키를 설정할 수 있습니다.
키 | 설명 | 필수 | Type | 기본값 | 유효한 값 |
---|---|---|---|---|---|
label | 양식에 표시되는 예상 사용자 입력에 대한 간략한 설명입니다. | 문자열 | |||
description | 양식에 표시되는 추가 컨텍스트 또는 지침을 제공하기 위한 드롭다운에 대한 설명입니다. | 문자열 | 빈 문자열 | ||
multiple | 사용자가 둘 이상의 옵션을 선택할 수 있는지 여부를 결정합니다. | 부울 | false | ||
options | 사용자가 선택할 수 있는 옵션 배열입니다. 비워 둘 수 없으며 모든 선택 항목은 고유해야 합니다. | 문자열 ARRAY | |||
default | options ARRAY에서 미리 선택된 옵션의 INDEX입니다. 기본 옵션을 지정하면 "None" 또는 "n/a"를 옵션으로 포함할 수 없습니다. | 정수 |
dropdown
에 대한 유효성 검사
validations
키 값에 대해 다음 키를 설정할 수 있습니다.
키 | 설명 | 필수 | Type | 기본값 | 유효한 값 |
---|---|---|---|---|---|
required | 요소가 완료될 때까지 양식 제출을 방지합니다. 퍼블릭 리포지토리에서만 사용 가능. | Boolean | false |
dropdown
의 예
body: - type: dropdown id: download attributes: label: How did you download the software? options: - Built from source - Homebrew - MacPorts - apt-get default: 0 validations: required: true
body:
- type: dropdown
id: download
attributes:
label: How did you download the software?
options:
- Built from source
- Homebrew
- MacPorts
- apt-get
default: 0
validations:
required: true
checkboxes
checkboxes
요소를 사용하여 양식에 체크박스 세트를 추가할 수 있습니다.
checkboxes
에 대한 특성
attributes
키 값에 대해 다음 키를 설정할 수 있습니다.
키 | 설명 | 필수 | Type | 기본값 | 유효한 값 |
---|---|---|---|---|---|
label | 양식에 표시되는 예상 사용자 입력에 대한 간략한 설명입니다. | 문자열 | |||
description | 양식에 표시되는 확인란 집합에 대한 설명입니다. Markdown 서식 지정을 지원합니다. | 문자열 | 빈 문자열 | ||
options | 사용자가 선택할 수 있는 확인란의 배열입니다. 구문의 경우 아래를 참조하세요. | 배열 |
options
배열의 각 값에 대해 다음 키를 설정할 수 있습니다.
키 | 설명 | 필수 | Type | 기본값 | 옵션 |
---|---|---|---|---|---|
label | 양식에 표시되는 옵션의 식별자입니다. Markdown은 굵게 또는 기울임꼴 텍스트 서식 지정과 하이퍼링크에 대해 지원됩니다. | 문자열 | |||
required | 요소가 완료될 때까지 양식 제출을 방지합니다. 퍼블릭 리포지토리에서만 사용 가능. | Boolean | false |
checkboxes
에 대한 유효성 검사
validations
키 값에 대해 다음 키를 설정할 수 있습니다.
키 | 설명 | 필수 | Type | 기본값 | 유효한 값 |
---|---|---|---|---|---|
required | 요소가 완료될 때까지 양식 제출을 방지합니다. 퍼블릭 리포지토리에서만 사용 가능. | Boolean | false |
checkboxes
의 예
body: - type: checkboxes id: operating-systems attributes: label: Which operating systems have you used? description: You may select more than one. options: - label: macOS - label: Windows - label: Linux
body:
- type: checkboxes
id: operating-systems
attributes:
label: Which operating systems have you used?
description: You may select more than one.
options:
- label: macOS
- label: Windows
- label: Linux