我有一个GitHub动作工作流,其中我将各种不同的源分支合并到目标分支main中。
下面是一个测试工作流程,用于读取env变量的值:
name: Print Github Env Variables
on:
push:
branches:
- main
- test
pull_request:
branches:
- main
- test
workflow_dispatch:
jobs:
print-env-variabes:
name: Print Github Variables
runs-on: ubuntu-latest
steps:
- name: Print Github Variables
run: |
echo "GITHUB_WORKFLOW:$GITHUB_WORKFLOW"
echo "GITHUB_EVENT_NAME:$GITHUB_EVENT_NAME"
echo "GITHUB_EVENT_PATH:$GITHUB_EVENT_PATH"
echo "GITHUB_WORKSPACE:$GITHUB_WORKSPACE"
echo "GITHUB_SHA:$GITHUB_SHA"
echo "GITHUB_REF:$GITHUB_REF"
echo "GITHUB_HEAD_REF:$GITHUB_HEAD_REF"
- name: Print complete webhook event payload
run: cat $GITHUB_EVENT_PATH
在名为test的分支中创建test.txt文件,创建提取请求,然后合并到main中。您会看到我当时所看到的。
当我查看GITHUB_REF时,它包含主分支。
对于pull_requests,GITHUB_HEAD_REF包含“ test”,但对于push,则为空。合并文件时需要我的值,所以在进行推送时就需要。
测试工作流程还会打印出整个事件json对象,在推送事件中,我也没有看到带有“测试”分支的任何条目。
如何在推送事件期间获取源分支的名称?