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

如何配置GitHub Actions工作流运行标题以始终显示提交信息?

自定义GitHub Actions工作流运行名称,始终显示提交信息

要让所有触发类型(PR、定时、手动)的工作流运行都显示提交信息,你可以使用GitHub Actions的run-name字段,结合环境变量和Git命令动态生成运行名称。

配置步骤

在你的ci.yaml中添加run-name字段,并通过条件判断和命令适配不同触发场景:

name: CI Workflow

# 自定义运行名称,适配不同触发场景
run-name: >-
  ${{ 
    github.event_name == 'pull_request' 
    ? format('PR #{0}: {1}', github.event.pull_request.number, github.event.pull_request.title) 
    : format('Commit {0}: {1}', github.sha, github.event.head_commit?.message || steps.commit_msg.outputs.msg) 
  }}

on:
  pull_request:
    branches: [ main ]
  schedule:
    - cron: '0 0 * * *' # 定时触发示例:每天凌晨运行
  workflow_dispatch: # 允许手动触发

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: 拉取代码
        uses: actions/checkout@v4
        with:
          fetch-depth: 1 # 确保能获取最新提交信息

      # 当head_commit.message不存在时(定时/手动触发),通过Git命令获取提交信息
      - name: 获取提交信息
        id: commit_msg
        if: github.event.head_commit.message == ''
        run: echo "msg=$(git log --format=%B -n 1 ${{ github.sha }})" >> $GITHUB_OUTPUT

配置说明

  • PR触发场景:保留原有逻辑,显示PR编号和标题,和GitHub默认行为一致。
  • 定时/手动触发场景:
    1. 用github.sha获取当前提交的哈希值。
    2. 如果github.event.head_commit.message不存在(定时/手动触发无此字段),通过git log命令提取最新提交的消息,再传递给run-name。
  • fetch-depth设置:必须设为1或更大,否则无法拉取提交历史,Git命令会执行失败。

这样配置后,无论哪种触发方式,工作流运行名称都会包含对应的提交哈希和消息,统一显示风格。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 14:05:01