Skip to main content

Sintaxe para formulários de categoria de discussão

Você pode usar a sintaxe YAML para definir os campos em seus formulários de categoria de discussão.

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.

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_

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.

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

Você pode definir as seguintes chaves de nível superior para cada formulário de categoria de discussão.

ChaveDescriçãoObrigatórioTipo
bodyDefinição dos tipos de entrada no formulário de discussão.ObrigatórioArray
labelsEtiquetas que serão adicionadas automaticamente a discussões criadas com este modelo.OpcionalMatriz ou strings delimitadas por vírgula
titleUm título padrão que será preenchido previamente no formulário de envio de discussão.OpcionalString

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".