# 在 GitHub Actions 中使用 GITHUB_TOKEN 运行 Copilot CLI

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

有关身份验证选项的背景信息，以及在 Copilot 命令行界面（CLI） 中运行 GitHub Actions 时计费如何运作，请参阅 [关于在 GitHub Actions 中使用 Copilot CLI](/zh/enterprise-cloud@latest/copilot/concepts/agents/copilot-cli/copilot-cli-in-github-actions)。

## 启用策略

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

1. 转到您组织的策略设置。 请参阅“[管理组织中GitHub Copilot的策略和功能](/zh/enterprise-cloud@latest/copilot/how-tos/administer-copilot/manage-for-organization/manage-policies)”。
2. 在“Copilot 命令行界面（CLI）”下，确认已选中 **“允许使用向组织计费的 Copilot 命令行界面（CLI）”**。

## 建议的方法： GitHub 代理工作流

对于大多数自动化用例，我们建议使用 [GitHub Agentic 工作流](https://github.com/github/gh-aw) ，而不是直接在工作流步骤中调用 `copilot` 。 代理工作流默认使用 `GITHUB_TOKEN` 身份验证，并包括适用于自动化环境的其他防护措施。

有关设置说明，请参阅 Agentic 工作流文档中的[](https://github.github.com/gh-aw/setup/quick-start/)GitHub。 工作流还必须授予 `copilot-requests: write` 权限。 请参阅 Agentic 工作流文档中的[权限](https://github.github.com/gh-aw/reference/permissions/)GitHub。

## 在工作流中直接使用 Copilot 命令行界面（CLI）

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

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

### 示例工作流

```yaml
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`会自动处理身份验证，无需额外的密钥。

> \[!NOTE]
> 您必须使用较新版本的 Copilot 命令行界面（CLI），才能使用 `GITHUB_TOKEN` 身份验证。 使用 `copilot update` 更新，或使用 `npm install -g @github/copilot` 重新安装最新版本。