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

GitHub Composite Action使用Secrets提示secrets未找到问题求助

问题原因

GitHub Composite Action 默认没有直接访问父工作流secrets的权限,你不能直接在action.yml内部使用${{ secrets.XXX }}格式引用secrets,这是触发找不到对应secrets报错的核心原因。

解决方案

步骤1:修改你开发的Composite Action的action.yml配置

你需要先在action.yml顶层声明inputs参数,用来接收外部传递的凭证,再把步骤中env的取值来源改为从inputs获取,修改后的配置示例如下:

name: 'test'
description: 'test'
# 新增inputs定义,声明需要接收的凭证参数
inputs:
  github_token:
    description: 'GitHub访问凭证'
    required: true
runs:
  using: 'composite'
  steps:
    - name: Create Branch
      run: echo "git branch test"
      env:
        # 从inputs中获取传递进来的token,而非直接引用secrets
        GITHUB_TOKEN: ${{ inputs.github_token }}
      shell: bash

步骤2:在调用该Action的工作流中显式传递secrets

在你的业务仓库的工作流配置文件(.github/workflows/目录下的yml文件)中调用该Composite Action时,需要把工作流可访问的secrets显式传递给Action对应的inputs参数,示例如下:

jobs:
  test-job:
    runs-on: ubuntu-latest
    steps:
      - name: 调用自定义Composite Action
        uses: 你的Action仓库地址@对应版本号
        with:
          # 把工作流的secrets传递给Action的输入参数
          github_token: ${{ secrets.GITHUB_TOKEN }}
补充注意事项
  • 如果需要用到多个自定义secrets,只需要在action.yml的inputs字段里逐个声明,调用时逐一传递即可
  • GITHUB_TOKEN是GitHub自动生成的默认凭证,不需要手动在仓库secrets中添加,其他自定义凭证需要先到仓库/组织的Secrets设置里配置后才能使用
  • 如果你需要执行git推送等写入操作,需要给GITHUB_TOKEN配置对应权限,可以在工作流中添加permissions: contents: write配置即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:15:01