【问题标题】:Github actions 'pull_request_review' on a specific target branchGithub 在特定目标分支上操作“pull_request_review”
【发布时间】:2021-06-04 07:09:15
【问题描述】:

我们正在尝试设置一个 github 操作,该操作仅在 pull_request_review 触发针对特定基本分支模式 release/* 的拉取请求

这是为了让我们有一个 GH 操作能够检查评论是否来自特定的发布看门人组。

这样做似乎并不只适用于针对release/* 分支的公关。它似乎触发了针对所有基础分支的 PR 审查目标

on:
  pull_request_review:
    branches:
      - release/*

在我们看来,我们不能像这样链接基础分支

【问题讨论】:

标签: github-actions


【解决方案1】:

您可以通过设置条件使其工作,如下所示:

on:
pull_request_review:
    branches:
        - release/**

jobs:
  release-job:
    if: startsWith(github.event.pull_request.base.ref, 'release/')

这基本上检查文本的基本引用(不区分大小写)。

如果条件为假,wf 仍会在其他条件中显示,但会显示为已跳过(0s 执行时间)。

请注意,您需要为工作流中的每个作业设置此 if 条件。

我认为你不再需要分支过滤器了。

【讨论】:

  • 是的,看来这是要走的路。我不喜欢这个动作仍然会触发但“跳过”工作。一个
【解决方案2】:

您可以在作业级别执行过滤。

例子:

name: Filtering PR Reviews

on:
  pull_request_review:
    branches:
      - 'releases/**'

jobs:
  Releases:
    name: Releases
    runs-on: ubuntu-latest
    if: ${{ startsWith( github.event.pull_request.base.ref, 'releases/' )}}
    steps:
      - name: trigger
        run: echo "we are in releases/**"
    
  ReleasesNext:
    name: ReleasesNext
    runs-on: ubuntu-latest
    if: ${{ startsWith( github.event.pull_request.base.ref, 'releases/next' )}}
    steps:
      - name: trigger
        run: echo "we are in releases/next"    

【讨论】:

  • 是的,看来这是要走的路。我不喜欢这个动作仍然会触发但“跳过”工作。
  • 没错。您可以创建触发相应操作的辅助工作流。这个虚拟工作仍然会触发。通过这种方式,您可能会更好地组织管道。
猜你喜欢
  • 2020-03-06
  • 2022-08-15
  • 1970-01-01
  • 2021-11-18
  • 1970-01-01
  • 2020-01-28
  • 2020-11-13
  • 2020-06-03
相关资源
最近更新 更多