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

如何在GitHub Action发布Release时更新名称并获取release_id

解决GitHub Action更新Release名称的问题

直接用上下文变量获取Release ID

在release: published触发的工作流里,GitHub已经把当前Release的完整数据挂载到context.payload.release中,直接用context.payload.release.id就能拿到所需的release_id,无需额外调用API。

修改后的配置代码如下:

name: update release name
on:
  release:
    types: [published]
jobs:
  update-release-name:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/github-script@v6
        with:
          script: |
            github.rest.repos.updateRelease({
              owner: context.repo.owner,
              repo: context.repo.repo,
              release_id: context.payload.release.id,
              name: 'Some New Name'
            })  

关于getReleaseByTag的补充说明

如果因特殊场景必须通过tag获取Release ID,getReleaseByTag是可行的——因为published事件是在Release正式发布完成后才触发的,此时tag对应的Release已存在,调用该接口能正常返回数据。示例代码如下:

const release = await github.rest.repos.getReleaseByTag({
  owner: context.repo.owner,
  repo: context.repo.repo,
  tag: context.payload.release.tag_name
});

github.rest.repos.updateRelease({
  owner: context.repo.owner,
  repo: context.repo.repo,
  release_id: release.data.id,
  name: 'Some New Name'
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 15:40:41