logo
0
2
WeChat Login
fix: 更换排序方式,最新的 tag 放在最上面

Range Changelog 插件

获取指定 Tag 或指定 Tag 范围的 Release Body,并支持对其中出现的 PR 进行过滤、加工和提取(比如提取出高亮特性)。

功能特性

  • 📋 Changelog 提取: 从指定 tag 范围的所有 release 中提取并拼接 changelog 内容
  • 🎯 高亮特性提取: 提取带有指定标签的 PR 详细描述和评论(如:高亮特性)
  • 🔒 内容脱敏: 自动移除 commit id、链接、人名、PR id 等敏感信息
  • ⚠️ 破坏性变更总结: 自动提取并合并所有 breaking changes

插件详情

插件镜像名称

cnbcool/range-changelog:v1.1.3

参数说明

插件参数(通过 settings 传递)

  • start_tag: 必需。起始 Tag。
  • end_tag: 必需。结束 Tag。
  • output: 必需。输出文件路径。
  • pr_label: 必需。应该筛选出的 PR 的标签,比如在 Tag 范围内,某些 PR 带有特定标签,可以使用这个参数来筛选出来,进行进一步加工处理,放置在最终产物的最前方。
  • comment_pattern: 必需。匹配的评论的正则表达式,比如 ^#+\s+高亮特性,表示评论开头为 1+ 个 # + 空格 + 高亮特性
  • custom_content: 可选。自定义内容,将在 ## 更新日志 标题之后插入。支持多行文本。

CNB 环境变量(自动提供)

  • CNB_REPO_SLUG: 必需。仓库 slug,格式如 cnb/monorepo
  • CNB_API_ENDPOINT: 必需。CNB API 基础 URL。
  • CNB_TOKEN: 可选。CNB API 认证 token,用于访问私有仓库或需要认证的 API。

在 CNB 中使用插件

$: web_trigger_get_range_changelog: - stages: - name: 获取区间完整变更日志 image: cnbcool/range-changelog:v1.1.3 settings: start_tag: 1.11.19 end_tag: 1.13.22 output: 1.11.19-1.13.22.range-changelog.md pr_label: 高亮特性 comment_pattern: "^#+\s+高亮特性" custom_content: | 本次更新包含以下重要变更: - 性能优化 - 新增功能 - Bug 修复

注意: CNB_REPO_SLUGCNB_API_ENDPOINTCNB_TOKEN 由 CNB 平台自动提供,无需在配置中手动设置。

输出文件格式解释

## 更新日志 (1.12.0 - 1.13.5) [如果设置了 custom_content,自定义内容会插入在这里] ### 🎯 高亮特性 [此处为提取的高亮特性列表] ### ⚠️ 破坏性变更总结 [此处为提取的破坏性变更总结列表] ## 1.13.5 [此处为提取的 1.13.5 的 Release Body 内容] ## 1.13.4 [此处为提取的 1.13.4 的 Release Body 内容] ... ## 1.12.0 [此处为提取的 1.12.0 的 Release Body 内容]

环境变量说明

插件依赖以下 CNB 平台提供的环境变量:

环境变量说明是否必需
CNB_REPO_SLUG仓库 slug,格式如 cnb/monorepo
CNB_API_ENDPOINTCNB API 基础 URL
CNB_TOKENCNB API 认证 token

这些环境变量由 CNB 平台自动提供,通常无需手动设置。