GitHub 操作自动批准不适用于 GitHub 操作机器人创建的拉取请求

GitHub Actions auto-approve not working on pull request created by GitHub Actions bot

我在 GitHub 存储库中使用两个工作流。

第一个工作流由 dev 上的每次推送触发,并在新分支 bump-version 中提升版本,并向 dev 创建新的拉取请求。


name: bump-version
on: 
  push:
    branches:
      - 'dev'

jobs:
  bumpVersionNumber:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
        with:
          fetch-depth: 0
      - uses: actions/setup-node@v1
        with:
          node-version: 10
      - run: npm ci

      - name: Bump Version
        run: |
          git config --local user.email "action@github.com"
          git config --local user.name "GitHub Action"
          npm run release

      - name: Create Pull Request
        uses: peter-evans/create-pull-request@v4
        with:
          commit-message: bump version
          title: Bump version
          body: Bump version to reflect release changes
          branch: bump-version
          base: dev

第二个工作流程应该由对新创建分支的每个推送和拉取请求触发 bump-version:

name: auto-approve
on: 
  push:
  pull_request:
    branches:
      - 'bump-version'

jobs:
  autoApprove:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
        with:
          fetch-depth: 0
      - uses: actions/setup-node@v1
        with:
          node-version: 10
      - run: npm ci
         
      - name: Pull request number
        run: |
          echo "Pull Request Number - ${{ github.event.pull_request.number }}"

      - name: Approve pull Request
        if: ${{ github.event.pull_request.number }}
        uses: hmarr/auto-approve-action@v2
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          pull-request-number: ${{ github.event.pull_request.number }}

问题是当创建新的拉取请求或第一个工作流 bump-version 对分支进行推送时,第二个工作流 auto-approve 没有被触发。

我想知道为什么第二个工作流 auto-approve 被任何分支而不是 bump-version 分支上的推送触发,以及为什么在从创建新的拉取请求时它没有被触发分支 bump-versiondev?

它是否与 GitHub Actions bot 创建拉取请求这一事实有关?

By default,当您使用存储库的 GITHUB_TOKEN 执行任务时,由 GITHUB_TOKEN 触发的事件不会创建新的工作流 运行。这可以防止您意外创建递归工作流 运行s.

如果您确实想从工作流 运行 中触发工作流,您可以使用 personal access token 而不是 GITHUB_TOKEN 来触发需要令牌的事件。

在这里,调用 peter-evans/create-pull-request 操作时必须使用此 PAT:

      - name: Create Pull Request
        uses: peter-evans/create-pull-request@v4
        with:
          commit-message: bump version
          title: Bump version
          body: Bump version to reflect release changes
          branch: bump-version
          base: dev
          token: ${{ secrets.PAT }}