---
title: "GitHub Action"
description: "run-gemini-cli GitHub Action：在儲存庫裡接入 Gemini CLI，支援 PR review、issue triage、按評論觸發和定時任務。"
verifiedAt: "2026-05-09"
---

`google-github-actions/run-gemini-cli` 把 Gemini CLI 放進 GitHub Actions。它適合做 PR review、issue triage、程式碼分析、修復建議和儲存庫自動化。

> [!WARNING]
> GitHub Action 預設應該只讀。涉及 label、comment、push、PR 修改或釋出時，必須收緊 permissions、事件觸發和身份條件。

## 能做什麼

- 自動審查 pull request。
- 自動標註和分流 issue。
- 在 issue 或 PR 評論裡透過 `@gemini-cli` 觸發。
- 在 schedule 任務裡做週期性檢查。
- 呼叫 `gh` 等 CLI 與 GitHub 互動。

## 快速接入

官方推薦先把 API key 放到 GitHub secret：

```text
GEMINI_API_KEY
```

然後在本地 Gemini CLI 中執行：

```text
/setup-github
```

也可以手動複製官方 examples/workflows 到儲存庫的 `.github/workflows`。

## 常見工作流

```text
Gemini Dispatch       统一分发评论触发的请求
Issue Triage          自动分流 issue
Pull Request Review   自动或手动审查 PR
Gemini CLI Assistant  在 issue/PR 评论里处理请求
```

## 安全設定

接入 CI 時重點檢查：

- secret 不寫入儲存庫。
- checkout 步驟按需關閉憑據持久化。
- 工作流許可權最小化。
- 對 fork PR 保持保守。
- 明確哪些評論命令允許觸發寫操作。

## 設計原則

GitHub Action 裡的 Gemini CLI 應該預設只讀。PR review、issue triage、release notes 草稿這類任務可以先只生成評論或摘要；需要寫 label、開 PR、push commit 的任務必須用更嚴格的 workflow permission 和觸發條件。

對 fork PR 尤其要保守：不要把高許可權 secret 暴露給不可信程式碼路徑，不要在未審查 diff 的情況下執行儲存庫指令碼。能用 `pull_request` 只讀事件解決的，不要直接上 `pull_request_target`。

| 場景 | 推薦許可權 |
| --- | --- |
| PR review 草稿 | read-only + comment 限制 |
| Issue triage label | issues write，但限制觸發條件 |
| 維護者評論觸發 | 校驗 actor / association |
| Fork PR | 不暴露高許可權 secret |
| 自動修復 PR | 獨立 workflow 和人工審批 |

## 接入路徑

推薦先在本地 Gemini CLI 裡跑 `/setup-github` 生成樣板，再人工審查 workflow。不要直接複製網上片段進生產儲存庫。審查重點是：

- `permissions` 是否最小。
- checkout 是否持久化憑據。
- prompt 是否會讀取敏感檔案。
- 是否限制評論觸發者身份。
- 是否把結果作為建議，而不是直接合並修改。

## 驗收方式

用測試儲存庫跑三條路徑：普通 PR、fork PR、維護者評論觸發。確認 secret 沒洩露、許可權足夠但不過寬、失敗時只留下可讀日誌，不會自動寫入非預期檔案或評論刷屏。

還要測試惡意輸入：PR 描述裡要求列印 secret、評論裡要求執行 shell、diff 裡包含看似正常的指令碼修改。Action 必須把這些當成不可信輸入，而不是直接服從 prompt。

Action 產物要可審計：評論、artifact、日誌裡要能看出觸發者、輸入範圍和最終許可權。
失敗時不能刷屏。
結果可複核。

第一次接入時建議只開一個只讀 PR review workflow。等 secret、permissions、fork PR 和評論觸發都驗證透過，再拆 issue triage、label、assistant 評論和自動修復流程。

## 接下來去哪

<Cards>
  <Card title="Issue 與 PR 自動化" description="繼續看 issue triage、label sync、linked issue 和 release 自動化。" href="/zh-Hant/docs/gemini-cli/official/07-integrations-automation/75-issue-pr-automation" />
  <Card title="自動化指令碼" description="Action 內部仍然要遵守 headless 和指令碼驗收規則。" href="/zh-Hant/docs/gemini-cli/official/07-integrations-automation/73-automation" />
  <Card title="Terms and privacy" description="CI 中的憑據、日誌和 prompt 也要回到隱私邊界核對。" href="/zh-Hant/docs/gemini-cli/official/06-security-enterprise/65-terms-privacy" />
</Cards>

## 官方來源

- [run-gemini-cli GitHub Action](https://github.com/google-github-actions/run-gemini-cli)
- [Gemini CLI issue and PR automation](https://github.com/google-gemini/gemini-cli/blob/main/docs/issue-and-pr-automation.md)
