À propos de la syntaxe YAML pour les formulaires de catégorie de discussion
Vous pouvez créer des formulaires de catégorie de discussion en ajoutant un fichier de définition de formulaire YAML au dossier /.github/DISCUSSION_TEMPLATE/
de votre dépôt. Si vous débutez avec YAML et souhaitez en savoir plus, consultez « Découvrir YAML en Y minutes ».
Le nom doit correspondre au slug de l’une de vos catégories de discussion. Par exemple, le modèle pour la catégorie « Announcements » doit être .github/DISCUSSION_TEMPLATE/announcements.yml
.
Pour chaque champ, vous pouvez définir le type d’entrée, la validation et une étiquette par défaut.
Quand un membre de la communauté remplit un formulaire de discussion, ses réponses pour chaque entrée sont converties en texte Markdown avant d’être ajoutées au corps d’une discussion. Les membres de la communauté peuvent modifier leurs discussions qui ont été créées à l’aide d’un formulaire de discussion et d’autres personnes peuvent interagir avec la discussion comme une discussion créée par d’autres méthodes.
Cet exemple de fichier de configuration YAML définit un formulaire de catégorie de discussion général.
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_
Syntaxe de niveau supérieur
Le fichier de configuration d’un formulaire de catégorie de discussion doit contenir une clé body
, et body
doit contenir au moins 1 champ non-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
Vous pouvez définir les clés principales suivantes pour chaque formulaire correspondant à une catégorie de discussion.
Clé | Description | Obligatoire | Type |
---|---|---|---|
body | Définition des types d’entrée dans le formulaire de discussion. | Obligatoire | Array |
labels | Étiquettes ajoutées automatiquement aux discussions créées avec ce modèle. | Facultatif | Tableau ou chaîne délimitée par des virgules |
title | Titre par défaut prérempli dans le formulaire d’envoi de la discussion. | Facultatif | String |
Pour ajouter des champs à votre formulaire, incluez un tableau d’éléments de formulaire dans la clé body
. Pour obtenir la liste des éléments disponibles et leur syntaxe, consultez Syntaxe du schéma de formulaire de GitHub.