Skip to main content

Notes de publication générées automatiquement

Vous pouvez générer automatiquement des notes de publication pour vos versions GitHub

Qui peut utiliser cette fonctionnalité ?

Repository collaborators and people with write access to a repository can generate and customize automated release notes for a release.

À propos des notes de publication générées automatiquement

Les notes de publication générées automatiquement offrent une alternative automatisée à l’écriture manuelle des notes de publication pour vos versions GitHub. Avec des notes de publication générées automatiquement, vous pouvez rapidement générer une vue d’ensemble du contenu d’une version. Les notes de publication générées automatiquement incluent une liste de demandes de tirage (pull request) fusionnées, une liste de contributeurs à la version et un lien vers un journal de modification complet.

Vous pouvez également personnaliser vos notes de publication automatisées en utilisant des étiquettes pour créer des catégories personnalisées afin d’y organiser les demandes de tirage de votre choix, et exclure certaines étiquettes et utilisateurs dans la sortie.

Création de notes de publication générées automatiquement pour une nouvelle version

  1. Sur GitHub, accédez à la page principale du référentiel.

  2. À droite de la liste des fichiers, cliquez sur Mises en production.

    Capture d’écran de la page principale d’un dépôt. Un lien, intitulé « Versions », est mis en évidence avec un encadré orange.

  3. En haut de la page, cliquez sur Brouillon d’une nouvelle version.

  4. Pour choisir une étiquette pour la version, sélectionnez le menu déroulant Choisir une étiquette.

    • Pour utiliser une étiquette existante, cliquez sur l’étiquette.
    • Pour créer une étiquette, tapez un numéro de version pour votre version, puis cliquez sur Créer une étiquette.
  5. Si vous avez créé une étiquette, utilisez le menu déroulant Cible, puis cliquez sur la branche qui contient le projet à publier.

  6. Si vous le souhaitez, au-dessus du champ du texte de description, sélectionnez le menu déroulant Étiquette précédente, puis cliquez sur l’étiquette qui identifie la version précédente.

    Capture d’écran du formulaire « Nouvelle version ». Un menu déroulant, intitulé « Previous tag: auto », est mis en évidence avec un encadré orange.

  7. Dans le champ « Titre de la mise en production », tapez un titre pour votre version.

  8. Au-dessus du champ de description, cliquez sur Générer des notes de publication.

  9. Passez en revue les notes générées pour vérifier qu’elles comprennent toutes (et uniquement) les informations que vous voulez ajouter.

  10. Vous pouvez aussi ajouter des fichiers binaires comme des programmes compilés dans votre mise en production, pour ce faire, faites un glisser-déposer ou sélectionnez les fichiers manuellement dans la boîte Fichiers binaires.

  11. Éventuellement, pour avertir les utilisateurs que la mise en production n’est pas prête pour la production et peut être instable, sélectionnez Il s’agit d’une préversion.

  12. Si vous le souhaitez, sélectionnez Définir comme version la plus récente. Si vous ne sélectionnez pas cette option, l’étiquette de version la plus récente est automatiquement attribuée en fonction du versioning sémantique.

  13. Si vous le souhaitez, si GitHub Discussions est activé pour le dépôt, créez une discussion pour la version.

    • Sélectionnez Créer une discussion pour cette version.
    • Sélectionnez le menu déroulant Catégorie, puis cliquez sur une catégorie pour la discussion sur la version.
  14. Si vous êtes prêt à rendre publique votre mise en production, cliquez sur Publier la mise en production. Pour travailler sur la mise en production par la suite, cliquez sur Enregistrer le brouillon.

Configuration des notes de publication générées automatiquement

  1. Sur GitHub, accédez à la page principale du référentiel.

  2. Au-dessus de la liste des fichiers, en utilisant la liste déroulante Ajouter un fichier, cliquez sur Créer un fichier.

  3. Dans le champ du nom de fichier, tapez .github/release.yml. Créez un nouveau fichier nommé release.yml, dans le répertoire .github .

  4. Dans le fichier, en utilisant les options de configuration ci-dessous, spécifiez dans le YAML les étiquettes et les auteurs de demande de tirage à exclure de cette version. Vous pouvez également créer des catégories et lister les étiquettes de demande de tirage qui doivent être ajoutées dans chacune d’elles.

Options de configuration

ParamètreDescription
changelog.exclude.labelsListe d’étiquettes qui excluent une demande de tirage dans les notes de publication.
changelog.exclude.authorsListe des descripteurs de connexion d’utilisateur ou de bot dont les demandes de tirage doivent être exclues des notes de publication.
changelog.categories[*].titleObligatoire. Titre d’une catégorie de changements dans les notes de publication.
changelog.categories[*].labelsObligatoire. Étiquettes qui qualifient une demande de tirage pour cette catégorie. Utilisez * comme « fourre-tout » pour les demandes de tirage qui ne correspondent à aucune des catégories précédentes.
changelog.categories[*].exclude.labelsListe d’étiquettes qui excluent une demande de tirage dans cette catégorie.
changelog.categories[*].exclude.authorsListe des descripteurs de connexion d’utilisateur ou de bot dont les demandes de tirage doivent être exclues de cette catégorie.

Exemples de configurations

Configuration d’un référentiel qui étiquette les versions SemVer

YAML
# .github/release.yml

changelog:
  exclude:
    labels:
      - ignore-for-release
    authors:
      - octocat
  categories:
    - title: Breaking Changes 🛠
      labels:
        - Semver-Major
        - breaking-change
    - title: Exciting New Features 🎉
      labels:
        - Semver-Minor
        - enhancement
    - title: Other Changes
      labels:
        - "*"

Configuration d’un référentiel qui ne balise pas les demandes de tirage, mais dans lequel nous voulons séparer les demandes de tirage automatisées Dependabot dans les notes de publication (labels: '*' est nécessaire pour afficher une catégorie catchall)

YAML
# .github/release.yml

changelog:
  categories:
    - title: 🏕 Features
      labels:
        - '*'
      exclude:
        labels:
          - dependencies
    - title: 👒 Dependencies
      labels:
        - dependencies

Pour aller plus loin