跳至主要内容

自动生成的发布说明

您可以自动生成 GitHub 发布的发布说明。

谁可以使用此功能?

代码库协作者和对代码库具有写入权限的人员可以生成和自定义发布的自动生成的发布说明。

关于自动生成的发布说明

自动生成的发布说明为手动编写 GitHub 发布的发布说明提供了一种自动化替代方案。使用自动生成的发布说明,您可以快速生成发布内容的概述。自动生成的发布说明包括合并的拉取请求列表、发布的贡献者列表以及指向完整更改日志的链接。

您还可以自定义自动生成的发布说明,使用标签创建自定义类别来组织您想要包含的拉取请求,并排除某些标签和用户在输出中显示。

为新的发布创建自动生成的发布说明

  1. 在 GitHub 上,导航到代码库的主页。

  2. 在文件列表右侧,点击版本

    Screenshot of the main page of a repository. A link, labeled "Releases", is highlighted with an orange outline.

  3. 在页面顶部,点击创建新版本

  4. 要选择版本的标签,请选择选择标签下拉菜单。

    • 要使用现有标签,请点击该标签。
    • 要创建新标签,请键入版本的版本号,然后点击创建新标签
  5. 如果您创建了新标签,请选择目标下拉菜单,然后点击包含您要发布的项目的的分支。

  6. 可选:在描述字段上方,选择上一个标签下拉菜单,然后点击标识上一个版本的标签。

    Screenshot of the "New release" form. A dropdown menu, labeled "Previous tag: auto", is highlighted with an orange outline.

  7. 在“版本标题”字段中,键入版本的标题。

  8. 在描述字段上方,点击生成版本说明

  9. 检查生成的说明,确保它们包含所有(且仅包含)您想要包含的信息。

  10. 可选:要在您的版本中包含二进制文件(例如编译后的程序),请将文件拖放到二进制文件框中,或手动选择文件。

  11. 可选:要通知用户该版本尚未准备好投入生产,并且可能不稳定,请选择这是一个预发布版本

  12. 可选:选择设置为最新版本。如果您不选择此选项,则最新版本标签将根据语义版本控制自动分配。

  13. 可选:如果为仓库启用了 GitHub Discussions,则可以为版本创建讨论。

    • 选择为此版本创建讨论
    • 选择类别下拉菜单,然后点击版本讨论的类别。
  14. 如果您准备发布您的版本,请点击发布版本。要稍后处理版本,请点击保存草稿。然后,您可以在仓库的版本 Feed 中查看已发布或草稿版本。更多信息,请参阅“查看您的仓库的版本和标签”。

配置自动生成的版本说明

  1. 在 GitHub 上,导航到代码库的主页。

  2. 在文件列表上方,选择添加文件下拉菜单,然后点击 创建新文件.

    或者,您可以点击左侧的文件树视图中的。

    Screenshot of the main page of a repository. Above the list of files, a button, labeled "Add file," is outlined in dark orange. In the file tree view of the repository, a button with a plus sign icon is also outlined in dark orange.

  3. 在文件名字段中,键入.github/release.yml。这将在.github目录中创建一个名为release.yml的新文件。

  4. 在文件中,使用下面的配置选项,使用 YAML 指定要从此版本中排除的拉取请求标签和作者。您还可以创建新类别并列出要包含在每个类别中的拉取请求标签。

配置选项

参数描述
changelog.exclude.labels一个标签列表,用于排除版本说明中出现的拉取请求。
changelog.exclude.authors要从版本说明中排除其拉取请求的用户或机器人登录名列表。
changelog.categories[*].title必需。版本说明中更改类别的标题。
changelog.categories[*].labels必需。使拉取请求符合此类别的标签。使用*作为对未匹配任何先前类别的拉取请求的通配符。
changelog.categories[*].exclude.labels一个标签列表,用于排除在此类别中出现的拉取请求。
changelog.categories[*].exclude.authors要从此类别中排除其拉取请求的用户或机器人登录名列表。

示例配置

为标记语义版本发布的仓库的配置

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:
        - "*"

为不标记拉取请求但我们希望在版本说明中分离 Dependabot 自动拉取请求的仓库的配置(需要labels: '*'才能显示通配符类别)

YAML
# .github/release.yml

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

进一步阅读