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

GitHub Workflow运行Py脚本更新文件触发404 UnknownObjectException错误

问题排查及解决方案

这个404报错绝大多数情况不是真的文件/仓库不存在,而是GitHub为了避免泄露私有资源信息,对没有权限的请求统一返回404状态码,按以下步骤排查即可解决:

  • 检查工作流的令牌权限配置
    GitHub Workflow默认的GITHUB_TOKEN没有仓库内容写入权限,你需要在工作流yml文件中添加权限配置,可选择全局配置或者对应job下配置:
    permissions:
      contents: write
    
    同时要确认你在执行脚本的步骤中,把存储的令牌正确传入了脚本的环境变量,参考配置如下:
    - name: run .py file
      env:
        TOKEN_SECRET_NAME: ${{ secrets.YOUR_SECRET_NAME }} # 替换为你实际存储的Secret名称
      run: python script.py
    
  • 确认仓库名参数格式正确
    PyGithub的get_repo方法要求传入用户名/仓库名格式的字符串,你可以直接使用Workflow自动内置的环境变量避免手动写错:
    repoName = os.environ.get("GITHUB_REPOSITORY")
    
  • 确认分支名和文件路径正确
    检查代码中指定的分支名称是否和仓库实际默认分支一致,部分老仓库默认分支仍为master而非main。另外文件路径需为相对于仓库根目录的相对路径,不要添加前缀/,也不要包含仓库名称。
  • 确认令牌本身的权限范围
    如果你使用的是个人访问令牌(PAT)而非Workflow默认的GITHUB_TOKEN,需要确认该令牌已经开启了repo范围的访问权限,同时拥有对应仓库的读写权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 05:48:00