Skip to main content

GitHub 양식 스키마 구문

GitHub의 양식 스키마를 사용하여 지원되는 기능에 대한 양식을 구성할 수 있습니다.

참고: GitHub의 양식 스키마는 현재 beta 버전이며 변경될 수 있습니다.

GitHub의 양식 스키마 정보

GitHub의 양식 스키마를 사용하여 지원되는 기능에 대한 양식을 구성할 수 있습니다. 자세한 내용은 "리포지토리에 대한 문제 템플릿 구성"을(를) 참조하세요.

양식은 사용자 입력을 요청하기 위한 요소 집합입니다. 양식 요소의 배열인 YAML 양식 정의를 만들어 양식을 구성할 수 있습니다. 각 양식 요소는 요소의 형식, 요소의 속성, 요소에 적용할 제약 조건을 결정하는 키-값 쌍 집합입니다. 일부 키의 경우 값은 키-값 쌍의 또 다른 집합입니다.

예를 들어 다음 양식 정의에는 사용자의 운영 체제를 제공하기 위한 텍스트 영역, 사용자가 실행 중인 소프트웨어 버전을 선택하기 위한 드롭다운 메뉴, 사용 규정을 승인하는 확인란, 양식을 완료한 사용자에게 감사하는 Markdown 등 네 가지 양식 요소가 포함되어 있습니다.

YAML
- 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정의하려는 요소의 형식입니다.문자열
  • checkboxes
  • dropdown
  • input
  • markdown
  • textarea
idtypemarkdown으로 설정된 경우를 제외하고 요소의 식별자입니다. 영숫자, -, _만 사용할 수 있습니다. 양식 정의에서 고유해야 합니다. 제공되는 경우 id는 URL 쿼리 매개 변수 미리 채우기의 필드에 대한 정규 식별자입니다.문자열
attributes요소의 속성을 정의하는 키-값 쌍 집합입니다.지도
validations요소에 대한 제약 조건을 설정하는 키-값 쌍 집합입니다.지도

다음 유형의 양식 요소 중에서 선택할 수 있습니다. 각 형식에는 고유한 특성 및 유효성 검사가 있습니다.

Type설명
markdown사용자에게 추가 컨텍스트를 제공하기 위해 양식에 표시되지만 제출되지 않은 Markdown 텍스트입니다.
textarea여러 줄 텍스트 필드.
input단일 줄 텍스트 필드.
dropdown드롭다운 메뉴.
checkboxes확인란 집합.

markdown

markdown 요소를 사용하여 사용자에게 추가 컨텍스트를 제공하지만 제출되지 않는 Markdown을 양식에 표시할 수 있습니다.

markdown에 대한 특성

attributes 키 값에 대해 다음 키를 설정할 수 있습니다.

설명필수Type기본값유효한 값
value렌더링되는 텍스트. Markdown 서식 지정이 지원됩니다.문자열

팁: YAML 처리는 해시 기호를 주석으로 처리합니다. Markdown 헤더를 삽입하려면 텍스트를 따옴표로 묶습니다.

여러 줄 텍스트의 경우 파이프 연산자를 사용할 수 있습니다.

markdown의 예

YAML
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요소가 완료될 때까지 양식 제출을 방지합니다. 퍼블릭 리포지토리에서만 사용 가능.Booleanfalse

textarea의 예

YAML
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요소가 완료될 때까지 양식 제출을 방지합니다. 퍼블릭 리포지토리에서만 사용 가능.Booleanfalse

input의 예

YAML
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에 대한 특성

attributes 키 값에 대해 다음 키를 설정할 수 있습니다.

설명필수Type기본값유효한 값
label양식에 표시되는 예상 사용자 입력에 대한 간략한 설명입니다.문자열
description양식에 표시되는 추가 컨텍스트 또는 지침을 제공하기 위한 드롭다운에 대한 설명입니다.문자열빈 문자열
multiple사용자가 둘 이상의 옵션을 선택할 수 있는지 여부를 결정합니다.부울false
options사용자가 선택할 수 있는 옵션 배열입니다. 비워 둘 수 없으며 모든 선택 항목은 고유해야 합니다.문자열 ARRAY
defaultoptions ARRAY에서 미리 선택된 옵션의 INDEX입니다. 기본 옵션을 지정하면 "None" 또는 "n/a"를 옵션으로 포함할 수 없습니다.정수

dropdown에 대한 유효성 검사

validations 키 값에 대해 다음 키를 설정할 수 있습니다.

설명필수Type기본값유효한 값
required요소가 완료될 때까지 양식 제출을 방지합니다. 퍼블릭 리포지토리에서만 사용 가능.Booleanfalse

dropdown의 예

YAML
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요소가 완료될 때까지 양식 제출을 방지합니다. 퍼블릭 리포지토리에서만 사용 가능.Booleanfalse

checkboxes에 대한 유효성 검사

validations 키 값에 대해 다음 키를 설정할 수 있습니다.

설명필수Type기본값유효한 값
required요소가 완료될 때까지 양식 제출을 방지합니다. 퍼블릭 리포지토리에서만 사용 가능.Booleanfalse

checkboxes의 예

YAML
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

추가 참고 자료