Sobre a sintaxe YAML para formulários de categoria de discussão
Você pode criar formulários de categoria de discussão personalizados adicionando um arquivo de definição de formulário YAML à pasta /.github/DISCUSSION_TEMPLATE/ no repositório. Se você não estiver familiarizado com o YAML e quiser saber mais, confira Aprenda a usar o YAML em Y minutos.
O nome deve corresponder ao slug de uma de suas categorias de discussão. Por exemplo, o modelo para a categoria "Comunicados" deve ser .github/DISCUSSION_TEMPLATE/announcements.yml.
Para cada campo, você pode definir o tipo de entrada, a validação e um rótulo padrão.
Quando um membro da comunidade preenche um formulário de discussão, suas respostas para cada entrada são convertidas em Markdown e adicionadas ao corpo de uma discussão. Os membros da comunidade podem editar suas discussões que foram criadas com um formulário de discussão e outras pessoas podem interagir com a discussão, como uma discussão criada por meio de outros métodos.
Este arquivo de configuração YAML de exemplo define um formulário de categoria de discussão geral.
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_
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_
Sintaxe de nível superior
O arquivo de configuração para um formulário de categoria de discussão deve conter uma chave body e o body deve conter pelo menos 1 campo não Markdown.
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:
- 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
Você pode definir as seguintes chaves de nível superior para cada formulário de categoria de discussão.
| Chave | Descrição | Obrigatório | Tipo | 
|---|---|---|---|
body | Definição dos tipos de entrada no formulário de discussão. | Obrigatório | Array | 
labels | Etiquetas que serão adicionadas automaticamente a discussões criadas com este modelo. | Opcional | Matriz ou strings delimitadas por vírgula | 
title | Um título padrão que será preenchido previamente no formulário de envio de discussão. | Opcional | String | 
Para adicionar campos ao formulário, inclua uma matriz de elementos de formulário na chave body. Para obter uma lista de elementos disponíveis e suas sintaxes, confira Sintaxe para o esquema de formulário do GitHub.