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-version
到 dev
?
它是否与 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 }}
我在 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-version
到 dev
?
它是否与 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 }}