在复合操作中使用 Secrets GitHub

Jos*_*den 34 github-actions

我正在创建一个复合操作,并尝试使用 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
Run Code Online (Sandbox Code Playgroud)

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

Gui*_*urd 44

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

在您的情况下,该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
Run Code Online (Sandbox Code Playgroud)

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

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

  • 可重用的工作流程具有“秘密”,但操作仅限于“输入”。 (25认同)