Skip to main content

Configuration des modèles de problème pour votre dépôt

Vous pouvez personnaliser les modèles que les contributeurs peuvent utiliser pour ouvrir de nouveaux problèmes dans votre dépôt.

Vous pouvez créer des modèles de problème par défaut et un fichier de configuration par défaut des modèles de problème pour votre organisation ou votre compte personnel. Pour plus d’informations, consultez « Création d’un fichier d’intégrité de la communauté par défaut ».

Création de modèles de problème

  1. Dans GitHub.com, accédez à la page principale du dépôt.

  2. Sous le nom de votre dépôt, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

    Capture d’écran d’un en-tête de dépôt montrant les onglets. L’onglet « Paramètres » est mis en évidence avec un encadré orange foncé.

  3. Dans la section « Fonctionnalités », sous Problèmes, cliquez sur Configurer des modèles. Vous devrez peut-être activer Problèmes et actualiser la page avant de pouvoir voir le bouton.

Capture d'écran de la section "Fonctionnalités" des paramètres d'un référentiel, avec le paramètre "Questions" coché et le bouton vert "Créer des modèles" visible.

  1. Utilisez le menu déroulant Ajouter un modèle, puis cliquez sur le type de modèle à créer.

    Capture d’écran du menu déroulant « Ajouter un modèle » développé pour montrer les modèles standard « Rapport de bogue » et « Demande de fonctionnalité ». De plus, le « modèle personnalisé » est listé.

  2. Pour prévisualiser ou modifier le modèle avant de le commiter dans le dépôt, à côté du modèle, cliquez sur Prévisualiser et modifier.

  3. Pour modifier le modèle, cliquez sur , puis tapez dans les champs pour modifier leur contenu.

    Capture d’écran de l’aperçu d’un modèle de problème. À droite du nom du modèle, une icône de crayon est encadrée en orange foncé.

  4. Pour définir automatiquement un titre de problème par défaut, affecter le problème à des personnes disposant d’un accès en lecture au dépôt ou appliquer des étiquettes aux problèmes déclenchés du modèle, utilisez les champs sous « Informations supplémentaires facultatives ». Vous pouvez également ajouter ces détails dans le modèle de problème avec title, labels ou assignees dans un format d’informations préliminaires YAML.

  5. Une fois que vous avez fini de modifier et de prévisualiser votre modèle, cliquez sur Proposer des changements dans le coin supérieur droit de la page.

  6. Dans le champ « Message de commit », tapez un message de commit décrivant vos modifications.

  7. Sous les champs de message de commit, sélectionnez si vous souhaitez commiter votre modèle directement dans la branche par défaut, ou créer une branche et ouvrir une demande de tirage (pull request). Pour plus d’informations sur les demandes de tirage, consultez « À propos des demandes de tirage (pull requests) ».

  8. Cliquez sur Commiter les changements. Une fois ces changements fusionnés avec la branche par défaut, les contributeurs peuvent utiliser le modèle quand ils ouvrent de nouveaux problèmes dans le dépôt.

Création de formulaires de problème

Remarque : Les formulaires de problème sont actuellement en version bêta et peuvent faire l’objet de modifications.

Avec les formulaires de problème, vous pouvez créer des modèles de problème ayant des champs de formulaire web personnalisables. Vous pouvez encourager les contributeurs à inclure des informations spécifiques et structurées à l’aide des formulaires de problème dans votre dépôt. Les formulaires de problème sont écrits en YAML à l’aide du schéma de formulaire GitHub. Pour plus d’informations, consultez « Syntaxe du schéma de formulaire de GitHub ». Si vous débutez avec YAML et souhaitez en savoir plus, consultez « Découvrir YAML en Y minutes ».

Pour utiliser un formulaire de problème dans votre dépôt, vous devez créer un fichier et l’ajouter au dossier .github/ISSUE_TEMPLATE de votre dépôt.

Voici un exemple de fichier config de formulaire de problème.

YAML
name: Bug Report
description: File a bug report.
title: "[Bug]: "
labels: ["bug", "triage"]
projects: ["octo-org/1", "octo-org/44"]
assignees:
  - octocat
body:
  - type: markdown
    attributes:
      value: |
        Thanks for taking the time to fill out this bug report!
  - type: input
    id: contact
    attributes:
      label: Contact Details
      description: How can we get in touch with you if we need more info?
      placeholder: ex. email@example.com
    validations:
      required: false
  - type: textarea
    id: what-happened
    attributes:
      label: What happened?
      description: Also tell us, what did you expect to happen?
      placeholder: Tell us what you see!
      value: "A bug happened!"
    validations:
      required: true
  - type: dropdown
    id: version
    attributes:
      label: Version
      description: What version of our software are you running?
      options:
        - 1.0.2 (Default)
        - 1.0.3 (Edge)
      default: 0
    validations:
      required: true
  - type: dropdown
    id: browsers
    attributes:
      label: What browsers are you seeing the problem on?
      multiple: true
      options:
        - Firefox
        - Chrome
        - Safari
        - Microsoft Edge
  - type: textarea
    id: logs
    attributes:
      label: Relevant log output
      description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
      render: shell
  - type: checkboxes
    id: terms
    attributes:
      label: Code of Conduct
      description: By submitting this issue, you agree to follow our [Code of Conduct](https://example.com). 
      options:
        - label: I agree to follow this project's Code of Conduct
          required: true

Voici la version affichée du formulaire de problème.

Capture d’écran d’un formulaire de problème rendu, avec un mélange de champs de texte et de menus déroulants.

  1. Choisissez un dépôt dans lequel vous souhaitez créer un formulaire de problème. Vous pouvez utiliser un dépôt existant auquel vous avez accès en écriture ou en créer un nouveau. Pour plus d’informations sur la création d’un dépôt, consultez « Création d’un dépôt ».
  2. Dans votre dépôt, créez un fichier appelé .github/ISSUE_TEMPLATE/FORM-NAME.yml, en remplaçant FORM-NAME par le nom de votre formulaire de problème. Pour plus d’informations sur la création de nouveaux fichiers dans GitHub, consultez « Création de fichiers ».
  3. Dans le corps du nouveau fichier, tapez le contenu de votre formulaire de problème. Pour plus d’informations, consultez « Syntaxe des formulaires de problème ».
  4. Commitez votre fichier dans la branche par défaut de votre dépôt. Pour plus d’informations, consultez « Création de fichiers ».

Configuration du sélecteur de modèles

Vous pouvez personnaliser le sélecteur de modèle de problème auquel les utilisateurs ont accès lorsqu’ils créent un problème dans votre référentiel en ajoutant un fichier config.yml au dossier .github/ISSUE_TEMPLATE.

Vous pouvez encourager les contributeurs à utiliser des modèles de problème en affectant la valeur false à blank_issues_enabled. Si vous affectez la valeur true à blank_issues_enabled, les utilisateurs peuvent ouvrir un problème vide, s’ils le souhaitent.

Remarque : Si vous avez utilisé le workflow hérité pour créer manuellement un fichier issue_template.md dans le dossier .github et activer les problèmes vides dans votre fichier config.yml, le modèle de issue_template.md sera utilisé quand les utilisateurs choisiront d’ouvrir un problème vide. Si vous désactivez les problèmes vides, le modèle ne sera jamais utilisé.

Si vous préférez recevoir certains rapports en dehors de GitHub Enterprise Cloud, vous pouvez diriger les utilisateurs vers des sites externes avec contact_links.

Voici un exemple de fichier config.yml.

YAML
blank_issues_enabled: false
contact_links:
  - name: GitHub Community Support
    url: https://github.com/orgs/community/discussions
    about: Please ask and answer questions here.
  - name: GitHub Security Bug Bounty
    url: https://bounty.github.com/
    about: Please report security vulnerabilities here.

Votre fichier config personnalise le sélecteur de modèles quand le fichier est fusionné avec la branche par défaut du dépôt.

  1. Dans GitHub.com, accédez à la page principale du dépôt.

  2. Au-dessus de la liste de fichiers, sélectionnez le menu déroulant Ajouter un fichier , puis cliquez sur Créer un fichier.

    Vous pouvez également cliquer sur dans l’arborescence de fichiers à gauche.

    Capture d’écran de la page principale d’un référentiel. Au-dessus de la liste des fichiers, un bouton, intitulé « Ajouter un fichier », est indiqué en orange foncé. Dans l’arborescence de fichiers du référentiel, un bouton, avec une icône du signe plus, est également encadré en orange foncé.

  3. Dans le champ du nom de fichier, tapez .github/ISSUE_TEMPLATE/config.yml.

  4. Dans le corps du nouveau fichier, tapez le contenu de votre fichier config.

  5. Cliquez sur Valider les modifications...

  6. Dans le champ de message de validation, tapez un message de validation court et descriptif qui indique la modification que vous avez apportée au fichier. Vous pouvez attribuer la validation à plusieurs auteurs dans le message de validation. Pour plus d’informations, consultez « Création d’une validation avec plusieurs auteurs ».

  7. Sous les champs de message de commit, choisissez si vous souhaitez ajouter votre commit à la branche actuelle ou à une nouvelle branche. Si votre branche actuelle est la branche par défaut, vous devez choisir de créer une branche pour votre validation, puis de créer une demande de tirage (pull request). Pour plus d’informations, consultez « Création d’une demande de tirage ».

    Capture d’écran d’une demande de tirage GitHub montrant une case d’option permettant de commiter directement dans la branche main ou de créer une branche. Une nouvelle branche est sélectionnée.

  8. Cliquez sur Valider les modifications ou Proposer des modifications.

Modification de l’ordre des modèles

Vous pouvez définir l’ordre dans lequel vos modèles de problème s’affichent dans le sélecteur de modèles en modifiant les noms de fichiers des modèles. Les modèles dans .github/ISSUE_TEMPLATE sont répertoriés de façon alphanumérique et regroupés par type de fichier, avec les fichiers YAML apparaissant avant les fichiers Markdown.

Pour contrôler l’ordre de vos modèles, ajoutez un nombre comme préfixe aux noms de fichiers. Par exemple : 1-bug.yml, 2-feature-request.yml et 3-epic.yml.

Si vous disposez de 10 modèles ou plus, l’ordre alphanumérique signifie que 11-bug.yml sera positionné entre 1-feature.yml et 2-support.yml. Vous pouvez conserver votre ordre prévu en ajoutant un 0 supplémentaire avant le nombre qui sert de préfixe à vos noms de fichiers. Par exemple : 01-feature.yml, 02-support.yml et 11-bug.yml.

Pour aller plus loin