Skip to main content

在 GitHub Actions 中使用 GITHUB_TOKEN 运行 Copilot CLI

在Copilot 命令行界面(CLI)工作流中使用内置的GITHUB_TOKEN运行GitHub Actions,无需personal access token。

有关身份验证选项的背景信息,以及在 Copilot 命令行界面(CLI) 中运行 GitHub Actions 时计费如何运作,请参阅 关于在 GitHub Actions 中使用 Copilot CLI

启用策略

要使组织中的工作流使用Copilot 命令行界面(CLI)和GITHUB_TOKEN,必须启用该策略。 默认情况下,对于已启用 Copilot 命令行界面(CLI) 的组织,此策略处于启用状态;但你可以在组织的策略设置中确认或更改此设置。

  1. 转到您组织的策略设置。 请参阅“管理组织中GitHub Copilot的策略和功能”。
  2. 在“Copilot 命令行界面(CLI)”下,确认已选中 “允许使用向组织计费的 Copilot 命令行界面(CLI)”

建议的方法: GitHub 代理工作流

对于大多数自动化用例,我们建议使用 GitHub Agentic 工作流 ,而不是直接在工作流步骤中调用 copilot 。 代理工作流默认使用 GITHUB_TOKEN 身份验证,并包括适用于自动化环境的其他防护措施。

有关设置说明,请参阅 Agentic 工作流文档中的GitHub。 工作流还必须授予 copilot-requests: write 权限。 请参阅 Agentic 工作流文档中的权限GitHub。

在工作流中直接使用 Copilot 命令行界面(CLI)

如果需要直接在工作流步骤中调用 Copilot 命令行界面(CLI) ,请使用 npm 安装 CLI。

警告

直接在工作流步骤中调用 Copilot 命令行界面(CLI) 会使其对你的工作流环境拥有广泛的访问权限。 在使用此方法之前,请仔细查看工作流触发器和权限。 从分支拉取请求触发的工作流尤其面临风险。

示例工作流

name: Copilot CLI example
on: [push]

permissions:
  contents: read
  copilot-requests: write

jobs:
  copilot:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - name: Install Copilot CLI
        run: npm install -g @github/copilot
      - name: Run Copilot
        run: copilot --yolo -p "Summarize the changes in this commit"
        env:
          GITHUB_TOKEN: $

有关此示例的关键详细信息:

  • --yolo 标志会禁止出现交互式提示,这对于像 GitHub Actions 这样的非交互式环境是必需的。
  • 工作流需要 copilot-requests: write 权限才能发出 Copilot 请求。
  • 由GitHub Actions提供的GITHUB_TOKEN会自动处理身份验证,无需额外的密钥。

注意

您必须使用较新版本的 Copilot 命令行界面(CLI),才能使用 GITHUB_TOKEN 身份验证。 使用 copilot update 更新,或使用 npm install -g @github/copilot 重新安装最新版本。