Skip to main content

ディスカッション カテゴリ フォームの構文

YAML 構文を使用すると、ディスカッション カテゴリ フォームのフィールドを定義できます。

ディスカッション カテゴリ フォームの YAML 構文について

YAML フォーム定義ファイルをリポジトリの /.github/DISCUSSION_TEMPLATE/ フォルダーに追加することで、カスタム ディスカッション カテゴリ フォームを作成できます。 YAML を初めて使用する場合は、「Learn YAML in Y minutes」 (YAML を Y 分で学習する) を参照してください。

名前は、いずれかのディスカッション カテゴリのスラッグに対応している必要があります。 たとえば、"Announcements" カテゴリのテンプレートは、.github/DISCUSSION_TEMPLATE/announcements.yml にする必要があります。

フィールドごとに、入力の種類、検証、および既定のラベルを定義できます。

コミュニティ メンバーがディスカッション フォームに入力すると、それぞれの入力に対する回答が Markdown に変換され、ディスカッションの本文に追加されます。 コミュニティ メンバーは、ディスカッション フォームで作成されたディスカッションを編集でき、他のユーザーは、他の方法で作成されたディスカッションのようにディスカッションとやり取りできます。

この YAML 構成ファイルの例では、一般的なディスカッション カテゴリ フォームを定義します。

YAML
title: "[General] "
labels: ["General Introduction"]
body:
  - type: markdown
    attributes:
      value: |
        This is text that will show up in the template!
  - type: textarea
    id: improvements
    attributes:
      label: Top 3 improvements
      description: "What are the top 3 improvements we could make to this project?"
      value: |
        1.
        2.
        3.
        ...
      render: bash
    validations:
      required: true
  - type: markdown
    attributes:
      value: |
        ## Markdown header
        And some more markdown
  - type: input
    id: has-id
    attributes:
      label: Suggestions
      description: A description about suggestions to help you
    validations:
      required: true
  - type: dropdown
    id: download
    attributes:
      label: Which area of this project could be most improved?
      options:
        - Documentation
        - Pull request review time
        - Bug fix time
        - Release cadence
    validations:
      required: true
  - type: checkboxes
    attributes:
      label: Check that box!
      options:
        - label: This one!
          required: true
        - label: I won't stop you if you check this one, too
  - type: markdown
    attributes:
      value: |
        ### The thrilling conclusion
        _to our template_

最上位の構文

ディスカッション カテゴリ フォームの構成ファイルには body キーが含まれている必要があり、body には少なくとも 1 つの Markdown 以外のフィールドが含まれている必要があります。

YAML
body:
- type: input
  id: suggestion
  attributes:
    label: Suggestion
    description: "How might we make this project better?"
    placeholder: "Adding a CODE_OF_CONDUCT.md file would be a great idea."
  validations:
    required: true

各ディスカッション カテゴリ フォームに次の最上位のキーを設定できます。

キー説明必須
bodyディスカッション フォームでの入力の種類の定義。必須Array
labelsこのテンプレートで作成されたディスカッションに自動的に追加されるラベル。オプション配列またはコンマ区切りの文字列
titleディスカッション送信フォームに事前に設定される既定のタイトル。オプションString

フォームにフィールドを追加するには、フォーム要素の配列を body キーに含めます。 使用できる要素とその構文の一覧については、「GitHub のフォームスキーマの構文」をご覧ください。