
tiangolo/latest-changestiangolo/latest-changes 是一个GitHub Action Docker镜像,旨在自动将每个Pull Request (PR) 的更改信息添加到项目的发布说明文件中。通过配置工作流,在PR合并到主分支后,该镜像可自动在指定文件的特定位置插入PR标题、链接及作者信息,减少手动维护版本更新文档的工作量。
适用于使用GitHub进行版本控制的项目,尤其是需要频繁更新发布说明、变更日志的场景。无论是小型个人项目还是大型团队协作项目,均可通过该Action简化版本更新文档的维护流程。
.github/workflows/latest-changes.ymlyamlname: Latest Changes on: pull_request_target: branches: - main # 或使用你的主分支名称,如master types: - closed workflow_dispatch: # 支持手动触发 inputs: number: description: PR编号 required: true jobs: latest-changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: docker://tiangolo/latest-changes:0.0.3 with: token: ${{ secrets.GITHUB_TOKEN }}
也可直接使用GitHub Action(非Docker方式),但执行速度较慢:
yaml# - uses: docker://tiangolo/latest-changes:0.0.3 # Docker方式(较快) - uses: tiangolo/latest-changes:0.0.3 # 直接使用Action(较慢但同样有效)
默认行为说明:
README.md### Latest Changes\n\n(包含两个换行符)对于在添加此Action前已创建的PR,可通过以下步骤手动触发:
| 参数名 | 描述 | 默认值 |
|---|---|---|
token | GitHub访问令牌,用于获取PR信息和推送更改,通常使用secrets.GITHUB_TOKEN | 无(必填) |
latest_changes_file | 指定要修改的发布说明文件路径 | README.md |
latest_changes_header | 指定用于定位插入位置的标题文本(支持正则表达式) | ### Latest Changes\n\n |
template_file | 自定义Jinja2模板文件路径,用于生成PR信息格式 | 默认内置模板 |
debug_logs | 是否开启调试日志,设为'true'可显示当前配置信息 | 'false' |
以下是使用所有配置参数的示例,包括自定义Jinja2模板:
创建Jinja2模板文件:.github/workflows/release-notes.jinja2,内容如下:
jinja2变更内容:{{pr.title}}。由 GitHub用户 {{pr.user.login}} 完成。查看 PR {{pr.number}} 详情。返回代码开发。🤓\n\n
说明:模板需以两个换行符结尾,确保下一条记录正确换行;
pr对象为PyGitHubPullRequest对象,可提取更多信息。
工作流配置文件:
yamlname: Latest Changes on: pull_request_target: branches: - master # 使用master作为主分支 types: - closed workflow_dispatch: inputs: number: description: PR编号 required: true jobs: latest-changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: tiangolo/latest-changes:0.0.3 with: token: ${{ secrets.GITHUB_TOKEN }} latest_changes_file: docs/release-notes.md # 自定义目标文件 latest_changes_header: '# Release Notes\n\n' # 自定义标题 template_file: ./.github/workflows/release-notes.jinja2 # 自定义模板 debug_logs: true # 开启调试日志
若主分支(如main或master)为受保护分支,需通过以下步骤配置以允许Action推送更改:
repo权限ACTIONS_TOKEN,值为上述访问令牌actions/checkout@v2:yamlname: Latest Changes on: pull_request_target: branches: - main types: - closed workflow_dispatch: inputs: number: description: PR编号 required: true jobs: latest-changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: token: ${{ secrets.ACTIONS_TOKEN }} # 使用自定义令牌 - uses: docker://tiangolo/latest-changes:0.0.3 with: token: ${{ secrets.GITHUB_TOKEN }}
说明:自定义令牌仅用于推送更改,提交仍会显示为
github-actions用户(用户名:github-actions,***:***)。





manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务