Skip to main content
설명서에 자주 업데이트를 게시하며 이 페이지의 번역이 계속 진행 중일 수 있습니다. 최신 정보는 영어 설명서를 참조하세요.

GitHub 양식 스키마 구문

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

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

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

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

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

markdown

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

특성

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

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

팁: YAML 처리는 해시 기호를 주석으로 처리합니다. 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 필드에 파일을 첨부할 수도 있습니다.

특성

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

설명필수Type기본값유효한 값
label양식에도 표시되는 예상 사용자 입력에 대한 간략한 설명입니다.필수String
description양식에 표시되는 컨텍스트 또는 지침을 제공하는 텍스트 영역에 대한 설명입니다.선택 사항String빈 문자열
placeholder비어 있을 때 텍스트 영역에 렌더링되는 반투명 자리 표시자입니다.선택 사항String빈 문자열
value텍스트 영역에 미리 채워진 텍스트입니다.선택 사항String
render값이 제공되면 제출된 텍스트의 서식이 코드 블록으로 지정됩니다. 이 키를 제공하면 파일 첨부 파일 또는 Markdown 편집을 위해 텍스트 영역이 확장되지 않습니다.선택 사항StringGitHub에 알려진 언어입니다. 자세한 내용은 언어 YAML 파일을 참조하세요.

유효성 검사

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

설명필수Type기본값유효한 값
required요소가 완료될 때까지 양식 제출을 방지합니다.선택적부울false

예제

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 요소를 사용하여 양식에 단일 줄 텍스트 필드를 추가할 수 있습니다.

특성

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

설명필수Type기본값유효한 값
label양식에도 표시되는 예상 사용자 입력에 대한 간략한 설명입니다.필수String
description양식에 표시되는 컨텍스트 또는 지침을 제공하는 필드에 대한 설명입니다.선택 사항String빈 문자열
placeholder필드가 비어 있을 때 렌더링되는 반투명 자리 표시자입니다.선택 사항String빈 문자열
value필드에 미리 채워진 텍스트입니다.선택 사항String

유효성 검사

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

설명필수Type기본값유효한 값
required요소가 완료될 때까지 양식 제출을 방지합니다.선택적부울false

예제

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 요소를 사용하여 양식에 드롭다운 메뉴를 추가할 수 있습니다.

특성

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

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

유효성 검사

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

설명필수Type기본값유효한 값
required요소가 완료될 때까지 양식 제출을 방지합니다.선택적부울false

예제

YAML
body:
- type: dropdown
  id: download
  attributes:
    label: How did you download the software?
    options:
      - Homebrew
      - MacPorts
      - apt-get
      - Built from source
  validations:
    required: true

checkboxes

checkboxes 요소를 사용하여 양식에 체크박스 세트를 추가할 수 있습니다.

특성

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

설명필수Type기본값유효한 값
label양식에 표시되는 예상 사용자 입력에 대한 간략한 설명입니다.필수String
description양식에 표시되는 확인란 집합에 대한 설명입니다. Markdown 서식 지정을 지원합니다.선택 사항String빈 문자열
options사용자가 선택할 수 있는 확인란의 배열입니다. 구문의 경우 아래를 참조하세요.필수배열

options 배열의 각 값에 대해 다음 키를 설정할 수 있습니다.

설명필수Type기본값옵션
label양식에 표시되는 옵션의 식별자입니다. Markdown은 굵게 또는 기울임꼴 텍스트 서식 지정과 하이퍼링크에 대해 지원됩니다.필수String

유효성 검사

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

설명필수Type기본값유효한 값
required요소가 완료될 때까지 양식 제출을 방지합니다.선택적부울false

예제

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

추가 참고 자료