在复合操作中使用秘密 GitHub

Using Secrets in Composite Actions GitHub

我正在创建复合操作,我正在尝试使用 GitHub 提供的机密,但我 运行 遇到错误,指出未找到机密。

这可以用您的 action.yml 重新创建,看起来像:

name: 'test'
description: 'test'
runs:
  using: 'composite'
  steps:
    - name: Create Branch
      run: echo "git branch test"
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      shell: bash

复合动作似乎不知道秘密,这使得很难通过它们 运行 git 命令。

如上面评论中所述rethab。如果您需要在动作中使用秘密,则需要通过动作输入告知这些秘密。

在您的情况下,action.yml 文件应如下所示:

name: 'test'

description: 'test'

inputs:
  token:
    description: 'A Github PAT'
    required: true

runs:
  using: 'composite'
  steps:
    - name: Create Branch
      run: echo "git branch test"
      env:
        GITHUB_TOKEN: ${{ inputs.token }}
      shell: bash

出于安全原因,GHA 以这种方式工作,因为如果可以在某些操作中直接管理它们,您不需要用户同意来操纵他们的存储库机密。

这样一来,您就可以保证用户在使用该操作时需要告知机密并从其工作流中授予此访问权限。