【问题标题】:How to Extract Branch Name on Delete Event Github Actions如何在删除事件 Github 操作中提取分支名称
【发布时间】:2020-10-27 23:16:27
【问题描述】:

我正在尝试在删除事件中提取分支名称。原来它不在 GITHUB_REF 对象中,因为那将是 default branch

通常我会跑

- name: Extract branch name
  shell: bash
  run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
  id: extract_branch

但显然对于删除事件,我需要通过 ${{ github.event.ref }} 提取分支

- name: Extract branch name
  shell: bash
  run: echo "##[set-output name=branch;]$(echo ${{ github.event.ref }})" # how to drop refs/heads/?
  id: extract_branch

现在我不知道如何删除分支名称的 refs/heads 方面。

编辑:由于在删除事件的情况下,github.event.ref 已经包含简单的分支名称,例如feature-1-my-branch 而不是 refs/heads/feature-1-my-branch 我上面的示例代码有效。

如果我想在不同的事件类型中对此上下文进行一些后处理,其中github.event.ref 返回refs/heads/feature-1-my-branch 在这种情况下我将如何删除refs/heads

【问题讨论】:

  • 这不是一回事,因为它专门用于从环境变量GITHUB_REF 中获取分支名称。我的问题是关于如何从github.event.ref 中提取分支名称。这不是一个很好的例子,因为在删除事件中,github.event.ref 具有简单的分支名称。但是,如果我在不同的事件中,我将如何从中删除前缀 refs/heads

标签: github-actions


【解决方案1】:

您可以只使用${{ github.event.ref }} 来引用分支名称,完整的delete 事件负载记录在GitHub API docs 中。

我自己也做了一个测试。使用here 中定义的工作流。

    steps:
      - uses: actions/checkout@v2
      - name: run build
        run: |
          echo "GITHUB_SHA is ${{ github.sha }}"
          echo "GITHUB_REF is ${{ github.ref }}"
          echo "${{ github.event.ref }} - ${{ github.event.ref_type }}"

我可以通过推送和删除branch 来触发运行(它也适用于tag)。它会导致类似this 的运行。

GITHUB_SHA is feb56d132c8142995b8fea6fd67bdd914e5e0d68
GITHUB_REF is refs/heads/master
so-62779643-test-delete-event-test2 - branch

[更新]

为了去掉GITHUB_REF 中的前缀,我是这样做的:

      - uses: actions/checkout@v2
      - name: run build
        run: |
          echo "::set-env name=GITHUB_REF::${{ github.ref }}"
          echo "old GITHUB_REF is $GITHUB_REF"
          GITHUB_REF=$(echo $GITHUB_REF | sed -e "s#refs/heads/##g")
          echo "new GITHUB_REF is $GITHUB_REF"

run log reference

old GITHUB_REF is refs/heads/master
new GITHUB_REF is master

【讨论】:

  • 谢谢。我只是在文档中注意到我自己只是删除事件的简单引用,而不是完整的引用。虽然看起来 github.event.ref 有时是完整的参考。如果我需要为不同的事件类型删除前缀,我想知道如何操作 github 上下文数据。
  • 更新了原始帖子以包含前缀剥离脚本。
猜你喜欢
  • 2020-06-03
  • 2020-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-12
  • 1970-01-01
  • 2020-12-16
  • 2021-06-02
相关资源
最近更新 更多