Remarque : Les formulaires de problème se trouvent actuellement en beta et peuvent être amenés à changer.
La clé de niveau supérieur obligatoire name
est manquante
Le modèle ne contient pas de champ name
, ce qui signifie que le nommage de votre modèle de problème n’est pas clair quand vous fournissez une liste d’options aux utilisateurs.
Exemple d’erreur « La clé de niveau supérieur obligatoire name
est manquante »
description: "Thank you for reporting a bug!"
...
Vous pouvez corriger l’erreur en ajoutant name
en tant que clé.
name: "Bug report"
description: "Thank you for reporting a bug!"
...
key
doit être une chaîne
Ce message d’erreur signifie qu’une clé autorisée a été fournie, mais que sa valeur ne peut pas être analysée, car le type de données n’est pas pris en charge.
Exemple d’erreur « key
doit être une chaîne »
description
, ci-dessous, est analysé en tant que valeur booléenne, mais il doit s’agir d’une chaîne.
name: "Bug report"
description: true
...
Vous pouvez corriger l’erreur en fournissant une chaîne en tant que valeur. Les chaînes doivent éventuellement être placées entre des guillemets doubles pour être correctement analysées. Par exemple, les chaînes qui contiennent '
doivent être placées entre des guillemets doubles.
name: "Bug report"
description: "true"
...
Les chaînes vides, ou les chaînes composées uniquement d’espaces blancs, ne sont pas non plus autorisées quand le champ attend une chaîne.
name: ""
description: "File a bug report"
assignees: " "
...
Vous pouvez corriger l’erreur en remplaçant la valeur par une chaîne non vide. Si le champ n’est pas obligatoire, vous devez supprimer la paire clé-valeur.
name: "Bug Report"
description: "File a bug report"
...
input
n’est pas une clé autorisée
Une clé inattendue a été fournie au niveau supérieur du modèle. Pour plus d’informations sur les clés de niveau supérieur prises en charge, consultez « Syntaxe des formulaires de problème ».
Exemple d’erreur « input
n’est pas une clé autorisée »
name: "Bug report"
hello: world
...
Vous pouvez corriger l’erreur en supprimant les clés inattendues.
name: "Bug report"
...
Clés interdites
Le YAML analyse certaines chaînes en tant que valeurs Boolean
. Pour éviter cela, nous avons explicitement interdit l’utilisation des clés suivantes :
y
, Y
, yes
, Yes
, YES
, n
, N
, no
, No
, NO
, true
, True
, TRUE
, false
, False
, FALSE
, on
, On
, ON
, off
, Off
, OFF
Vous pouvez corriger l’erreur en supprimant les clés interdites.
Le corps doit contenir au moins un champ non Markdown
Les formulaires de problème doivent accepter les entrées utilisateur, ce qui signifie qu’au moins un de leurs champs doit contenir un champ d’entrée utilisateur. Un élément markdown
représente du texte statique. Un tableau body
ne peut donc pas contenir uniquement des éléments markdown
.
Exemple d’erreur « Le corps doit contenir au moins un champ non-Markdown »
name: "Bug report"
body:
- type: markdown
attributes:
value: "Bugs are the worst!"
Vous pouvez corriger l’erreur en ajoutant des éléments non Markdown qui acceptent une entrée utilisateur.
name: "Bug report"
body:
- type: markdown
attributes:
value: "Bugs are the worst!"
- type: textarea
attributes:
label: "What's wrong?"
Le corps doit avoir des ID uniques
Si vous utilisez les attributs id
pour distinguer plusieurs éléments, chaque attribut id
doit être unique.
Exemple d’erreur « Le corps doit avoir des ID uniques »
name: "Bug report"
body:
- type: input
id: name
attributes:
label: First name
- type: input
id: name
attributes:
label: Last name
Vous pouvez corriger l’erreur en changeant le id
de l’une de ces entrées pour que chaque champ input
ait un attribut id
unique.
name: "Bug report"
body:
- type: input
id: name
attributes:
label: First name
- type: input
id: surname
attributes:
label: Last name
Le corps doit avoir des étiquettes uniques
Quand plusieurs éléments body
acceptent une entrée utilisateur, l’attribut label
de chaque champ d’entrée utilisateur doit être unique.
Exemple d’erreur « Le corps doit avoir des étiquettes uniques »
name: "Bug report"
body:
- type: textarea
attributes:
label: Name
- type: textarea
attributes:
label: Name
Vous pouvez corriger l’erreur en changeant l’attribut label
de l’un des champs d’entrée pour avoir la garantie que chaque label
est unique.
name: "Bug report"
body:
- type: textarea
attributes:
label: Name
- type: textarea
attributes:
label: Operating System
Les champs d’entrée peuvent également être différenciés par leur attribut id
. Si des attributs label
en double sont obligatoires, vous pouvez fournir au moins un id
pour différencier deux éléments ayant des étiquettes identiques.
name: "Bug report"
body:
- type: textarea
id: name_1
attributes:
label: Name
- type: textarea
id: name_2
attributes:
label: Name
Les attributs id
ne sont pas visibles dans le corps du problème. Si vous souhaitez distinguer les champs dans le problème résultant, vous devez utiliser des attributs label
distincts.
Étiquettes trop similaires
Des étiquettes similaires peuvent être traitées en tant que références identiques. Si aucun attribut id
n’est fourni pour input
, l’attribut label
est utilisé pour générer une référence au champ input
. Pour ce faire, nous traitons label
en tirant parti de la méthode parameterize en Rails. Dans certains cas, deux étiquettes distinctes peuvent être traitées en utilisant la même chaîne paramétrisée.
Exemple d’erreur « Les étiquettes sont trop similaires »
name: "Bug report"
body:
- type: input
attributes:
label: Name?
- type: input
id: name
attributes:
label: Name???????
Vous pouvez corriger l’erreur en ajoutant au moins un caractère alphanumérique de différenciation, -
ou _
, à l’une des étiquettes conflictuelles.
name: "Bug report"
body:
- type: input
attributes:
label: Name?
- type: input
attributes:
label: Your name
Vous pouvez également corriger l’erreur en attribuant à l’une des étiquettes en conflit un id
unique.
name: "Bug report"
body:
- type: input
attributes:
label: Name?
- type: input
id: your-name
attributes:
label: Name???????
Les cases à cocher doivent avoir des étiquettes uniques
Quand un élément checkboxes
est présent, chacune de ses étiquettes imbriquées doit être unique parmi ses pairs ainsi que parmi les autres types d’entrée.
Exemple d’erreur « Les cases à cocher doivent avoir des étiquettes uniques »
name: "Bug report"
body:
- type: textarea
attributes:
label: Name
- type: checkboxes
attributes:
options:
- label: Name
Vous pouvez corriger l’erreur en changeant l’attribut label
pour l’une de ces entrées.
name: "Bug report"
body:
- type: textarea
attributes:
label: Name
- type: checkboxes
attributes:
options:
- label: Your name
Vous pouvez également fournir un id
à tous les éléments de niveau supérieur en conflit. Les éléments de case à cocher imbriqués ne prennent pas en charge l’attribut id
.
name: "Bug report"
body:
- type: textarea
id: name_1
attributes:
label: Name
- type: checkboxes
attributes:
options:
- label: Name
Les attributs id
ne sont pas visibles dans le corps du problème. Si vous souhaitez distinguer les champs dans le problème résultant, vous devez utiliser des attributs label
distincts.
Body[i] : le type de clé obligatoire est manquant
Chaque bloc de corps doit contenir la clé type
.
Dans les erreurs relatives à body
, body[i]
est indiqué en premier, où i
représente l’index de base zéro du bloc de corps contenant l’erreur. Par exemple, body[0]
nous indique que l’erreur a été causée par le premier bloc de la liste body
.
Exemple d’erreur « body[i] : le type de clé obligatoire est manquant »
body:
- attributes:
value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord."
Vous pouvez corriger l’erreur en ajoutant la clé type
avec un type d’entrée valide en tant que valeur. Pour connaître les types d’entrée disponibles de body
et leurs syntaxes, consultez « Syntaxe du schéma de formulaire de GitHub ».
body:
- type: markdown
attributes:
value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord."
Body[i] : x
n’est pas un type d’entrée valide
L’un des blocs de corps contient une valeur de type qui ne fait pas partie des types autorisés.
Dans les erreurs relatives à body
, body[i]
est indiqué en premier, où i
représente l’index du bloc de corps contenant l’erreur. Par exemple, body[0]
nous indique que l’erreur a été causée par le premier bloc de la liste body
.
Exemple d’erreur « body[i] : x
n’est pas un type d’entrée valide »
body:
- type: x
attributes:
value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord."
Vous pouvez corriger l’erreur en remplaçant x
par l’un des types valides.
body:
- type: markdown
attributes:
value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord."
Body[i] : la clé d’attribut obligatoire value
est manquante
L’un des attributs obligatoires value
n’a pas été fourni. L’erreur se produit quand un bloc n’a pas de clé attributes
, ou qu’il n’a pas de clé value
sous la clé attributes
.
Dans les erreurs relatives à body
, body[i]
est indiqué en premier, où i
représente l’index du bloc de corps contenant l’erreur. Par exemple, body[0]
nous indique que l’erreur a été causée par le premier bloc de la liste body
.
Exemple d’erreur « body[i] : la clé d’attribut obligatoire value
est manquante »
body:
- type: markdown
attributes:
value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord."
- type: markdown
Vous pouvez corriger l’erreur dans cet exemple en ajoutant value
en tant que clé sous attributes
dans le deuxième élément de liste de body
.
body:
- type: markdown
attributes:
value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord."
- type: markdown
attributes:
value: "This is working now!"
Body[i] : l’étiquette doit être une chaîne
Dans son bloc attributes
, une valeur a un type de données incorrect.
Dans les erreurs relatives à body
, body[i]
est indiqué en premier, où i
représente l’index du bloc de corps contenant l’erreur. Par exemple, body[0]
nous indique que l’erreur a été causée par le premier bloc de la liste body
.
Exemple d’erreur « body[i] : l’étiquette doit être une chaîne »
label
, ci-dessous, est analysé en tant que valeur booléenne, mais il doit s’agir d’une chaîne.
body:
- type: markdown
attributes:
value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord."
- type: textarea
attributes:
label: Bug Description
- type: textarea
attributes:
label: true
Vous pouvez corriger l’erreur en fournissant une valeur de chaîne pour label
. Si vous souhaitez utiliser une valeur label
, qui peut être analysée sous forme de valeur booléenne, entière ou décimale, vous devez la placer entre guillemets. Par exemple, "true"
ou "1.3"
au lieu de true
ou 1.3
.
- type: markdown
attributes:
value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord."
- type: textarea
attributes:
label: Bug Description
- type: textarea
attributes:
label: Environment Details
Les chaînes vides, ou les chaînes composées uniquement d’espaces blancs, ne sont pas autorisées quand un attribut attend une chaîne. Par exemple, ""
ou " "
ne sont pas autorisés.
Si l’attribut est obligatoire, la valeur doit être une chaîne non vide. Si le champ n’est pas obligatoire, vous devez supprimer la paire clé-valeur.
body:
- type: input
attributes:
label: "Name"
Body[i] : id
peut contenir uniquement des chiffres, des lettres, -, _
Les attributs id
peuvent contenir uniquement des caractères alphanumériques, -
et _
. Votre modèle peut inclure des caractères non autorisés, par exemple des espaces blancs, dans id
.
Dans les erreurs relatives à body
, body[i]
est indiqué en premier, où i
représente l’index du bloc de corps contenant l’erreur. Par exemple, body[0]
nous indique que l’erreur a été causée par le premier bloc de la liste body
.
Exemple d’erreur « body[i] : id
peut contenir uniquement des chiffres, des lettres, -, _ »
name: "Bug report"
body:
- type: input
id: first name
attributes:
label: First name
Vous pouvez corriger l’erreur en vérifiant que les espaces blancs et autres caractères non autorisés sont supprimés des valeurs id
.
name: "Bug report"
body:
- type: input
id: first-name
attributes:
label: First name
Body[i] : x
n’est pas une clé autorisée
Une clé inattendue, x
, a été fournie au même niveau de mise en retrait que type
et attributes
.
Dans les erreurs relatives à body
, body[i]
est indiqué en premier, où i
représente l’index du bloc de corps contenant l’erreur. Par exemple, body[0]
nous indique que l’erreur a été causée par le premier bloc de la liste body
.
Exemple d’erreur « body[i] : x
n’est pas une clé autorisée »
body:
- type: markdown
x: woof
attributes:
value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord."
Vous pouvez corriger l’erreur en supprimant les clés supplémentaires et en utilisant uniquement type
, attributes
et id
.
body:
- type: markdown
attributes:
value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord."
Body[i] : label
contient un mot interdit
Pour réduire le risque que des utilisateurs postent publiquement des informations privées et des informations d’identification dans Problèmes GitHub, certains mots couramment utilisés par les attaquants ne sont pas autorisés dans le label
des éléments input ou textarea.
Dans les erreurs relatives à body
, body[i]
est indiqué en premier, où i
représente l’index du bloc de corps contenant l’erreur. Par exemple, body[0]
nous indique que l’erreur a été causée par le premier bloc de la liste body
.
Exemple d’erreur « body[i] : label
contient un mot interdit »
body:
- type: markdown
attributes:
value: Hello world!
- type: input
attributes:
label: Password
Vous pouvez corriger l’erreur en supprimant les termes tels que « mot de passe » de tous les champs label
.
body:
- type: markdown
attributes:
value: Hello world!
- type: input
attributes:
label: Username
Body[i] : x
n’est pas un attribut autorisé
Une clé non valide a été fournie dans un bloc attributes
.
Dans les erreurs relatives à body
, body[i]
est indiqué en premier, où i
représente l’index du bloc de corps contenant l’erreur. Par exemple, body[0]
nous indique que l’erreur a été causée par le premier bloc de la liste body
.
Exemple d’erreur « body[i] : x
n’est pas un attribut autorisé »
body:
- type: markdown
attributes:
x: "a random key!"
value: "Thanks for taking the time to fill out this bug!"
Vous pouvez corriger l’erreur en supprimant les clés supplémentaires et en utilisant uniquement les attributs autorisés.
body:
- type: markdown
attributes:
value: "Thanks for taking the time to fill out this bug!"
Body[i] : options
doit être unique
Pour les types d’entrée liés aux cases à cocher et aux listes déroulantes, les choix définis dans le tableau options
doivent être uniques.
Dans les erreurs relatives à body
, body[i]
est indiqué en premier, où i
représente l’index du bloc de corps contenant l’erreur. Par exemple, body[0]
nous indique que l’erreur a été causée par le premier bloc de la liste body
.
Exemple d’erreur « body[i] : options
doit être unique »
body:
- type: dropdown
attributes:
label: Favorite dessert
options:
- ice cream
- ice cream
- pie
Vous pouvez corriger l’erreur en vérifiant qu’il n’existe aucun choix en double dans le tableau options
.
body:
- type: dropdown
attributes:
label: Favorite dessert
options:
- ice cream
- pie
Body[i] : options
ne doit pas inclure le mot réservé none
« None » est un mot réservé dans un ensemble options
, car il permet d’indiquer un non-choix quand dropdown
n’est pas nécessaire.
Dans les erreurs relatives à body
, body[i]
est indiqué en premier, où i
représente l’index du bloc de corps contenant l’erreur. Par exemple, body[0]
nous indique que l’erreur a été causée par le premier bloc de la liste body
.
Exemple d’erreur « body[i] : options
ne doit pas inclure le mot réservé none »
body:
- type: dropdown
attributes:
label: What types of pie do you like?
options:
- Steak & Ale
- Chicken & Leek
- None
validations:
required: true
Vous pouvez corriger l’erreur en supprimant « None » en tant qu’option. Si vous souhaitez qu’un contributeur puisse indiquer qu’il n’aime aucun de ces types de tourte, vous pouvez également supprimer la validation required
.
body:
- type: dropdown
attributes:
label: What types of pie do you like?
options:
- Steak & Ale
- Chicken & Leek
Dans cet exemple, « None » est rempli automatiquement en tant qu’option sélectionnable.
Body[i] : options
ne doit pas inclure de valeurs booléennes. Placez les valeurs telles que « yes » et « true » entre guillemets
Un certain nombre de mots anglais sont traités en tant que valeurs booléennes par l’analyseur YAML, sauf s’ils sont placés entre guillemets. Pour les options
de la liste déroulante, tous les éléments doivent être des chaînes et non des valeurs booléennes.
Dans les erreurs relatives à body
, body[i]
est indiqué en premier, où i
représente l’index du bloc de corps contenant l’erreur. Par exemple, body[0]
nous indique que l’erreur a été causée par le premier bloc de la liste body
.
Exemple d’erreur « body[i] : options
ne doit pas inclure de booléens. Placez les valeurs telles que 'yes' et 'true' entre guillemets »
body:
- type: dropdown
attributes:
label: Do you like pie?
options:
- Yes
- No
- Maybe
Vous pouvez corriger l’erreur en plaçant chaque option incriminée entre guillemets, pour éviter qu’elle ne soit traitée en tant que valeur booléenne.
body:
- type: dropdown
attributes:
label: Do you like pie?
options:
- "Yes"
- "No"
- Maybe
Le corps ne peut pas être vide
La paire key:value
du corps de modèle ne peut pas être vide. Pour plus d’informations sur les clés de niveau supérieur nécessaires, consultez « Syntaxe des formulaires de problème ».
Vous pouvez corriger l’erreur en ajoutant la section body:
.
Exemple d’erreur « Le corps ne peut pas être vide »
name: Support Request
description: Something went wrong and you need help?
---
body:
- type: textarea
attributes:
label: "What's wrong?"
Dans cet exemple, l’erreur peut être corrigée en supprimant le séparateur de document (---
) entre les en-têtes et la section body
.
name: Support Request
description: Something went wrong and you need help?
body:
- type: textarea
attributes:
label: "What's wrong?"