如何在GitHub Actions工作流的run_name中获取精简的提交SHA?
如何在GitHub Actions工作流的run_name中获取精简的提交SHA?
嘿,我懂你想在GitHub Actions工作流的run-name里显示那种精简的提交哈希(就是你截图里的短提交ID),之前试的几个变量没成功对吧?
你之前尝试的这些变量其实都有适用场景的局限性,所以没能达到预期:
${{ github.event.head_commit.tree_id }}:这个指向的是提交对应的树对象ID,并非提交本身的哈希${{ github.event.head_commit.id }}、${{ github.event.push.head_commit.id }}:这两个只在push事件触发的工作流里才会有值,如果你的工作流是由Pull Request、手动触发等其他事件启动的,它们就会是空值
要解决这个问题,最通用可靠的方式是使用github.sha这个上下文变量——它在所有类型的工作流触发事件里,都会返回当前运行对应的完整提交SHA。如果想要截图里那种精简的7位版本,用GitHub的表达式切片语法截取前7位就行,完整的工作流示例如下:
name: My App Development run-name: My App Development - ${{ github.sha | slice(0,7) }} # 根据你的需求设置触发事件,这里示例包含push和Pull Request on: [push, pull_request] jobs: build-and-test: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4
这样设置后,你的工作流运行名称就会显示成类似My App Development - a1b2c3d的样子,完全符合你想要的效果~
备注:内容来源于stack exchange,提问作者kunass2




