关于自动生成的发布说明
自动生成的发布说明为手动编写 GitHub 发布的发布说明提供了一种自动化的替代方案。使用自动生成的发布说明,您可以快速生成发布内容的概述。自动生成的发布说明包括合并的拉取请求列表、发布贡献者列表以及指向完整变更日志的链接。
您还可以使用标签自定义自动发布说明,以创建自定义类别来组织您要包含的拉取请求,并从输出中排除某些标签和用户。
为新发布创建自动生成的发布说明
-
在 GitHub.com 上,导航到仓库的主页。
-
在文件列表的右侧,单击**发布**。
-
在页面顶部,单击**草拟新发布**。
-
要为发布选择标签,请选择 **选择标签** 下拉菜单。
- 要使用现有标签,请点击标签。
- 要创建新标签,请为您的发布输入版本号,然后点击 **创建新标签**。
-
如果您创建了新标签,请选择 **目标** 下拉菜单,然后点击包含您要发布的项目的分支。
-
可选地,在描述字段上方,选择 **先前标签** 下拉菜单,然后点击标识先前发布的标签。
-
在“发布标题”字段中,为您的发布输入标题。
-
在描述字段上方,点击 **生成发布说明**。
-
检查生成的说明以确保它们包含您想要包含的所有(且仅包含)信息。
-
可选地,要将二进制文件(例如编译后的程序)包含在您的发布中,请将文件拖放到二进制文件框中或手动选择文件。
-
可选地,要通知用户发布尚未准备好投入生产并且可能不稳定,请选择 **这是预发布**。
-
可选地,选择 **设置为最新发布**。如果您不选择此选项,最新发布标签将根据语义版本控制自动分配。
-
可选地,如果为存储库启用了 GitHub Discussions,请为发布创建讨论。
- 选择 **为此次发布创建讨论**。
- 选择 **类别** 下拉菜单,然后点击发布讨论的类别。
-
如果您已准备好公开您的发布,请点击 **发布发布**。要稍后处理发布,请点击 **保存草稿**。然后,您可以在存储库的发布提要中查看已发布或草稿发布。有关更多信息,请参阅“查看存储库的发布和标签”。
配置自动生成的发布说明
-
在 GitHub.com 上,导航到仓库的主页。
-
在文件列表上方,选择 **添加文件** 下拉菜单,然后点击 创建新文件.
或者,您可以点击 左侧文件树视图中的。
-
在文件名字段中,输入
.github/release.yml
。这将在.github
目录中创建一个名为release.yml
的新文件。 -
在文件中,使用以下配置选项,在 YAML 中指定要从此版本中排除的拉取请求标签和作者。您还可以创建新的类别并列出要包含在每个类别中的拉取请求标签。
配置选项
参数 | 描述 |
---|---|
changelog.exclude.labels | 一个标签列表,用于排除从发布说明中显示的拉取请求。 |
changelog.exclude.authors | 一个用户或机器人登录句柄列表,其拉取请求将从发布说明中排除。 |
changelog.categories[*].title | 必需。 发布说明中更改类别的标题。 |
changelog.categories[*].labels | 必需。 使拉取请求符合此类别的标签。使用 * 作为对未匹配任何先前类别的拉取请求的通配符。 |
changelog.categories[*].exclude.labels | 一个标签列表,用于排除从此类别中显示的拉取请求。 |
changelog.categories[*].exclude.authors | 一个用户或机器人登录句柄列表,其拉取请求将从此类别中排除。 |
示例配置
为标记语义版本发布的存储库配置
# .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: - "*"
# .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: '*'
是必需的,以显示一个通配符类别)
# .github/release.yml changelog: categories: - title: 🏕 Features labels: - '*' exclude: labels: - dependencies - title: 👒 Dependencies labels: - dependencies
# .github/release.yml
changelog:
categories:
- title: 🏕 Features
labels:
- '*'
exclude:
labels:
- dependencies
- title: 👒 Dependencies
labels:
- dependencies
进一步阅读
- "管理标签"