You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Github Action中调用gh CLI生成与Web端一致的自动发布说明

解决方案

方案1:直接使用gh CLI内置自动生成参数(推荐)

gh CLI从2.21.0版本开始内置了和Web端完全一致的自动生成发布说明功能,直接追加--generate-notes参数即可,无需额外调用接口,修改后的代码如下:

# create a new release, and attach "*.zip" as extra artifacts.
- name: Create Github release with zip attached
  run: gh release create ${{ steps.date.outputs.date }} *.zip --target develop --generate-notes
  env:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

目前Github官方托管的运行器默认预装的gh CLI版本都满足要求,无需额外安装依赖。

方案2:预先生成发布说明再自定义传入

如果需要在生成后对发布说明做二次修改(比如增加自定义前缀、筛选提交内容),可以先调用Github原生接口生成说明,存储为输出变量后再传入创建命令,操作步骤如下:

  1. 先为工作流开启写入权限,在工作流yaml的根节点添加配置:
permissions:
  contents: write
  1. 新增生成发布说明的步骤:
- name: Generate auto release notes
  id: gen_notes
  run: |
    NOTES=$(gh api repos/${{ github.repository }}/releases/generate-notes -f tag_name=${{ steps.date.outputs.date }} -f target_commitish=develop --jq .body)
    echo "notes=$NOTES" >> $GITHUB_OUTPUT
  env:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  1. 创建发布时传入生成好的说明:
- name: Create Github release with zip attached
  run: gh release create ${{ steps.date.outputs.date }} *.zip --target develop -n "${{ steps.gen_notes.outputs.notes }}"
  env:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

注意事项

  • 两种方案底层均调用Github官方的发布说明生成接口,输出结果和Web端「Auto-Generate Release Notes」选项完全一致
  • 如果使用私有仓库,不需要额外配置token权限,默认的secrets.GITHUB_TOKEN就满足调用要求

内容的提问来源于stack exchange,提问作者FirstDivision

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 02:36:05