根据两个版本之间的历史提交信息生成 changelog,默认将生成到工作目录下的 CHANGELOG.md 文件
注意:
branch.delete 事件中使用用于生成 changelog 的 tag(获取 previousTag | previousBranch 和 tag 之间的变更记录来生成 changelog)
注意: tag 需要满足 semver 规范,否则会取 HEAD。
用于生成 changelog 的上一个版本 tag,优先级大于 previousBranch。
如果有传入,则获取 previousTag 和 tag 之间的变更记录生成 changelog;
如果没传入,则获取 tag 和上一个 tag 之间的变更记录生成 changelog
用于生成 changelog 的上一个版本(分支名)
如果有传入,则获取 previousBranch 和 tag 之间的变更记录生成 changelog;
如果没传入,则获取 tag 和上一个 tag 之间的变更记录生成 changelog
用于生成写入 target 文件的 changelog,如果传入,则从 from 版本开始生成日志,否则从第一个版本开始生成日志
修改生成日志的文件路径。当设置 dryRun: true 或 day: xxx 时,该字段无效。
写入文件的日志起始版本为 from,如果 from 不存在,则为第一个版本。
不受 tag 和 previousTag 影响。
指定最新变更日志(previousTag 和 tag 之间的变更)的生成文件路径。当设置 dryRun: true 或 day 时,该字段无效。
仅生成并直接返回上一个版本至今的变更日志
(如果传入了 previousTag 和 tag,则生成这两者之间的变更日志), 内容见输出结果;
如果设置该字段,则不会将日志写入文件,即 target 字段无效。且 day 无效
获取最近一段时间内的提交汇总, 内容见输出结果
如果设置该字段,则不会将日志写入文件,即 target 字段无效。且 tag 和 previousTag 无效
是否丢弃部分提交,只保留语义化版本中有有版本变更影响的提交
是否显示关联的链接,包括提交和issue等。
是否识别并显示 issue id,支持识别 #123 格式
是否识别并显示 pr id。支持识别 PR-URL: #123 格式
是否显示代码提交时间
{
latestChangeLog, // 最新的变更日志
}
docker run --rm -t -v $(pwd):$(pwd) -w $(pwd) cnbcool/changelog .
生成 CHANGELOG.md 文件:
# .cnb.yml
$:
tag_push:
- stages:
- name: changelog
image: cnbcool/changelog
- name: showfile
script: ls -al CHANGELOG.md
导出为变量,并发送到群:
# .cnb.yml
$:
tag_push:
- stages:
- name: 生成 changelog
image: cnbcool/changelog
settings:
dryRun: true
linkReferences: false
exports:
latestChangeLog: RELEASE_NOTES
- name: 回显 changelog
script: echo "$RELEASE_NOTES"
- name: 发送到企业群
image: tencentcom/wecom-message
settings:
robot: your-bot-xxxxxxx
content: |
## ChangeLog
$RELEASE_NOTES
每周五下午三点,自动生成工作周报:
# .cnb.yml
$:
# 每周五下午三点
"crontab: 0 15 * * 5":
- stages:
- name: week changelog
image: cnbcool/changelog
settings:
day: 7
dryRun: true
linkReferences: false
exports:
latestChangeLog: WEEK_REPORT
- name: wework notice
image: tencentcom/wecom-message
settings:
robot: your-bot-xxxxxxx
content: |
## ChangeLog
$WEEK_REPORT
使用 latestChangeLogTarget 将本 tag 和上一个 tag 之间的变更日志写入自定义文件:
# .cnb.yml
$:
tag_push:
- stages:
- name: 生成 changelog
image: cnbcool/changelog
settings:
latestChangeLogTarget: LATEST_CHANGELOG.md
- name: 查看最新 changelog
script: cat LATEST_CHANGELOG.md