GitHub Actions如何为手动触发的工作流设置自定义运行名称
GitHub Actions手动触发工作流自定义运行名称实现方法
完全支持自定义手动触发的工作流运行名称,GitHub Actions原生提供了顶层配置字段实现该需求,不需要额外写脚本处理。
核心配置字段
在工作流YAML文件的顶层位置(和on、jobs字段同级)添加run-name字段即可,该字段支持引用GitHub Actions内置上下文表达式,可以根据不同触发场景动态生成名称。
结合当前的deploy.yaml配置,适配后的完整示例如下:
run-name: | ${{ github.event_name == 'workflow_dispatch' && format('手动部署[{0}]环境 | 触发人:{1}', github.event.inputs.env, github.actor) || github.event.head_commit.message }} on: push: branches: ["master"] workflow_dispatch: inputs: env: description: '部署环境' required: true type: choice options: - production - staging - test jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 # 其余部署步骤按需补充
配置逻辑说明
- 当工作流由push事件触发时,
run-name会取github.event.head_commit.message也就是当前HEAD的提交信息作为运行名称,和默认表现完全一致 - 当工作流由手动
workflow_dispatch事件触发时,会自动拼接选择的部署环境、触发人信息生成名称,比如最终显示为手动部署[production]环境 | 触发人:octocat,不会再默认显示yaml文件名

常用可引用变量
可以按需在run-name里拼接这些常用上下文值:
github.actor:触发本次工作流运行的GitHub用户名github.event.inputs.<参数名>:手动触发时填写/选择的输入参数值github.run_number:当前仓库该工作流的累计运行次数,全局唯一递增github.ref_name:触发工作流对应的分支、标签名称github.run_attempt:当前运行的重试次数
注意:如果使用自托管Runner,需要将Runner版本升级到v2.293.0及以上才能正常解析
run-name字段,GitHub官方托管的Runner默认已支持该特性,无需额外配置。
内容的提问来源于stack exchange,提问作者Manu Artero
相关产品推荐
相关产品推荐

