You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同一仓库下GitHub Action修改另一工作流无workflows权限如何解决

问题原因

默认情况下GitHub自动生成的GITHUB_TOKEN未被授予workflows读写权限,这是平台的内置安全限制,禁止通过默认令牌修改.github/workflows/目录下的工作流文件,所以才会出现推送被拒的报错。

可行解决方法

方法一:使用自定义个人访问令牌(PAT)

  • 进入你GitHub账号的「Settings」-「Developer settings」-「Personal access tokens」-「Tokens (classic)」页面,点击生成新的经典令牌
  • 为令牌勾选repo和workflows两个权限范围,生成后复制令牌值,注意生成PAT的账号需要拥有该仓库的写入权限,否则仍然会操作失败
  • 回到当前代码仓库的「Settings」-「Secrets and variables」-「Actions」页面,新建一个仓库机密,名称比如设为WORKFLOWS_TOKEN,值粘贴刚才生成的PAT
  • 修改你的Action配置,把peter-evans/create-pull-request步骤里的token参数替换为${{ secrets.WORKFLOWS_TOKEN }},修改后的对应配置如下:
- name: Create Pull Request
  uses: peter-evans/create-pull-request@v3
  with:
      token: ${{ secrets.WORKFLOWS_TOKEN }}
      branch: some-branch
      commit-message: "Updated stuff"

方法二:配置Action运行时的权限声明

如果你不想创建单独的PAT,可以直接在工作流根级别添加permissions声明,显式授予workflows写权限,在你的工作流开头添加如下配置即可:

name: my-action

on:
  workflow_dispatch:
  schedule:
    - cron: "0 9 * * *"

# 新增权限声明
permissions:
  contents: write
  workflows: write
  pull-requests: write

jobs:
  components:
    runs-on: ubuntu-latest
    # 后续步骤保持原配置不变

注意:该方法需要确认仓库的GITHUB_TOKEN权限设置没有被组织规则限制,如果是组织下的仓库,需要管理员确认没有禁用自定义工作流权限配置。

内容的提问来源于stack exchange,提问作者Joel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 09:06:03