Github Actions:有没有一种方法可以在从特定分支打开的Pull Requests上运行actions?

4
我想创建一个动作,当针对主分支开放特定分支的拉取请求时,执行工作流程。我的当前设置是在所有分支拉取请求对主分支开放时运行工作流程。
name: Auto Approve Pull Request
on:
  pull_request:
    branches:
      - 'master'
      - 'skip-*'

jobs:
  build:
    name: Approve PR
    runs-on: ubuntu-latest
    steps:
      - name: Fetch out code
        uses: username/my-github-repo@master
        with:
          token: ******
        env:
          BRANCH_PREFIX: "skip-*"
          PULL_REQUEST_BRANCH: "master"

我希望工作流仅在以 skip-* 命名的分支上运行。

1个回答

6
我找到的解决方法是使用一个if语句来检查 head-ref 分支名称是否与(以)skip- 开头匹配。

以下是我的解决方案:

name: Auto Approve Pull Request
on:
  pull_request:
    branches:
      - 'master'

jobs:
  build:
    name: Approve PR
    runs-on: ubuntu-latest
    if: startsWith(github.head_ref, 'skip-') == true
    steps:
      - name: Fetch out code
        uses: username/my-github-repo@master
        with:
          token: ******
        env:
          BRANCH_PREFIX: "skip-*"
          PULL_REQUEST_BRANCH: "master"

注意事项:


1
请注意,工作流程运行仍将显示在存储库的操作页面中(带有灰色的“跳过”图标)。可能有点烦人。 - binaryfunt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接