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

使用copy_file_to_another_repo_action时API_TOKEN_GITHUB认证失败

解决GitHub工作流推送时的认证失败问题

针对你使用copy_file_to_another_repo_action推送文件到目标仓库时出现的Invalid username or password认证失败问题,以下是你可能遗漏的排查点:

1. 确认令牌在工作流中的传递方式

copy_file_to_another_repo_action需要将令牌通过with:字段的api_token参数显式传入,而非仅依赖环境变量。如果你的工作流仅通过env:声明API_TOKEN_GITHUB,但未在with中传递,会导致认证失败。正确调用格式示例:

- uses: dmnemec/copy_file_to_another_repo_action@main
  with:
    source_file: "path/to/your/file"
    destination_repo: "rempsyc/starter-academic"
    destination_branch: "master"
    api_token: ${{ secrets.API_TOKEN_GITHUB }}

2. 验证令牌权限的细节

  • 经典令牌:必须勾选repo完整仓库读写权限,确保覆盖目标仓库的操作权限。
  • 细粒度令牌:
    • 确认目标仓库的Contents权限设置为Read and write;
    • 检查令牌的有效期是否未过期;
    • 确保令牌绑定的仓库列表包含目标仓库rempsyc/starter-academic,避免因权限范围限制未覆盖到。

3. 检查工作流的Git基础配置

部分情况下,action内部的Git用户信息未正确初始化会导致认证异常。可在调用action前添加手动配置步骤:

- name: Configure Git User
  run: |
    git config --global user.name "你的GitHub用户名"
    git config --global user.email "你的GitHub绑定邮箱"

4. 排查目标仓库的分支保护规则

如果目标仓库的master分支开启了分支保护(如要求PR合并、必须通过状态检查等),即使令牌有权限,直接推送也会被拦截。可暂时关闭分支保护进行测试,或调整令牌权限(经典管理员令牌可绕过部分保护,细粒度令牌需额外配置“绕过分支保护”权限)。

5. 确认密钥存储位置与引用正确性

  • 确保API_TOKEN_GITHUB密钥存储在源仓库(rempsyc/cv)的Secrets中,而非目标仓库;
  • 检查密钥名称的拼写(大小写、下划线)与工作流中的引用完全一致,避免因拼写错误导致无法读取密钥。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 05:15:32