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)
    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정의하려는 요소의 형식입니다.문자열
  • checkboxes
  • dropdown
  • input
  • markdown
  • textarea
id
          `type`이 `markdown`으로 설정된 경우를 제외하고 요소의 식별자입니다. 영숫자, `-`, `_`만 사용할 수 있습니다. 양식 정의에서 고유해야 합니다. 제공되는 경우 `id`는 URL 쿼리 매개 변수 미리 채우기의 필드에 대한 정규 식별자입니다. | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-x" aria-label="x icon" role="img"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg>  | 문자열 | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-dash" aria-label="dash icon" role="img"><path d="M2 7.75A.75.75 0 0 1 2.75 7h10a.75.75 0 0 1 0 1.5h-10A.75.75 0 0 1 2 7.75Z"></path></svg> | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-dash" aria-label="dash icon" role="img"><path d="M2 7.75A.75.75 0 0 1 2.75 7h10a.75.75 0 0 1 0 1.5h-10A.75.75 0 0 1 2 7.75Z"></path></svg> |

| attributes | 요소의 속성을 정의하는 키-값 쌍 집합입니다. | | 지도 | | | | validations | 요소에 대한 제약 조건을 설정하는 키-값 쌍 집합입니다. | | 지도 | | |

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

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

markdown

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

          `markdown`에 대한 특성

데이터 재사용 가능 형식-스키마.속성-소개 %}

설명필수유형기본값유효한 값
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`에 대한 특성

데이터 재사용 가능 형식-스키마.속성-소개 %}

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

          `textarea`에 대한 유효성 검사

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

설명필수유형기본값유효한 값
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`에 대한 특성

데이터 재사용 가능 형식-스키마.속성-소개 %}

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

          `input`에 대한 유효성 검사

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

설명필수유형기본값유효한 값
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`에 대한 특성

데이터 재사용 가능 형식-스키마.속성-소개 %}

설명필수유형기본값유효한 값
label양식에 표시되는 예상 사용자 입력에 대한 간략한 설명입니다.문자열
description양식에 표시되는 추가 컨텍스트 또는 지침을 제공하기 위한 드롭다운에 대한 설명입니다.문자열빈 문자열
multiple사용자가 둘 이상의 옵션을 선택할 수 있는지 여부를 결정합니다.부울false
options사용자가 선택할 수 있는 옵션 배열입니다. 비워 둘 수 없으며 모든 선택 항목은 고유해야 합니다.문자열 배열
default
          `options` ARRAY에서 미리 선택된 옵션의 INDEX입니다. 기본 옵션을 지정하면 "None" 또는 "n/a"를 옵션으로 포함할 수 없습니다.  | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-x" aria-label="x icon" role="img"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg>  | 정수 | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-dash" aria-label="dash icon" role="img"><path d="M2 7.75A.75.75 0 0 1 2.75 7h10a.75.75 0 0 1 0 1.5h-10A.75.75 0 0 1 2 7.75Z"></path></svg> | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-dash" aria-label="dash icon" role="img"><path d="M2 7.75A.75.75 0 0 1 2.75 7h10a.75.75 0 0 1 0 1.5h-10A.75.75 0 0 1 2 7.75Z"></path></svg> |

          `dropdown`에 대한 유효성 검사

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

설명필수유형기본값유효한 값
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`에 대한 특성

데이터 재사용 가능 형식-스키마.속성-소개 %}

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

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

설명필수Type기본값옵션
label양식에 표시되는 옵션의 식별자입니다. Markdown은 굵게 또는 기울임꼴 텍스트 서식 지정과 하이퍼링크에 대해 지원됩니다.문자열
required요소가 완료될 때까지 양식 제출을 방지합니다. 퍼블릭 리포지토리에서만 사용 가능.Booleanfalse

          `checkboxes`에 대한 유효성 검사

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

설명필수유형기본값유효한 값
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

추가 참고 자료

  •         [YAML (야믈)](https://yaml.org)