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.