
run-gemini-cli は、Gemini CLI を介して Gemini を開発ワークフローに統合する GitHub Action です。これは、重要なルーチンコーディングタスクのための自律エージェントとして、また、迅速に作業を委任できるオンデマンドのコラボレーターとして機能します。
これを使用して、GitHub プルリクエストのレビュー、イシューのトリアージ、コード分析と修正などを、Gemini と会話形式 (例: @gemini-cli fix this issue) で GitHub リポジトリ内で直接実行できます。
@gemini-cli /review)。gh) などの他の CLI と対話できます。GEMINI.md ファイルを使用して、Gemini CLI にプロジェクト固有の指示とコンテキストを提供します。わずか数分でリポジトリに Gemini CLI を使い始められます。
Google AI Studio から API キーを取得します。無料枠が充実しています。
API キーを GEMINI_API_KEY という名前のシークレットとしてリポジトリに保存します。
GEMINI_API_KEY、Value: ご自身の API キー.gitignore ファイルに次のエントリを追加します。
# gemini-cli settings
.gemini/
# GitHub App credentials
gha-creds-*.json
ワークフローをセットアップするには、2 つのオプションがあります。
オプション A: セットアップコマンドを使用する (推奨)
ターミナルで Gemini CLI を起動します。
gemini
ターミナルの Gemini CLI で、次のように入力します。
/setup-github
オプション B: ワークフローを手動でコピーする
examples/workflows ディレクトリから、リポジトリの .github/workflows ディレクトリにコピーします。注: gemini-dispatch.yml ワークフローもコピーする必要があります。これにより、ワークフローを実行するためのトリガーが設定されます。プルリクエストレビュー:
@gemini-cli /review とコメントすると、手動でレビューをトリガーできます。イシュートリアージ:
@gemini-cli /triage とコメントすると、手動でトリアージをトリガーできます。一般的な AI アシスタンス:
@gemini-cli に続けてリクエストを記載します。@gemini-cli explain this code change@gemini-cli suggest improvements for this function@gemini-cli help me debug this error@gemini-cli write unit tests for this componentこのアクションは、さまざまなユースケース向けに事前構築済みのワークフローをいくつか提供します。各ワークフローは、リポジトリの .github/workflows ディレクトリにコピーし、必要に応じてカスタマイズするように設計されています。
このワークフローは Gemini CLI の中央ディスパッチャとして機能し、トリガーイベントとコメントで指定されたコマンドに基づいて、適切なワークフローにリクエストをルーティングします。ディスパッチワークフローのセットアップ方法の詳細なガイドは、Gemini Dispatch ワークフローのドキュメント を参照してください。
このアクションは、GitHub イシューを自動的、またはスケジュールに従ってトリアージするために使用できます。イシュートリアージシステムのセットアップ方法の詳細なガイドは、GitHub Issue Triage ワークフローのドキュメント を参照してください。
このアクションは、プルリクエストが開かれたときに自動的にレビューするために使用できます。プルリクエストレビューシステムのセットアップ方法の詳細なガイドは、GitHub PR Review ワークフローのドキュメント を参照してください。
このタイプのアクションは、一般的な目的の会話型 Gemini AI アシスタントをプルリクエストやイシュー内で起動し、幅広いタスクを実行するために使用できます。汎用 Gemini CLI ワークフローのセットアップ方法の詳細なガイドは、Gemini Assistant ワークフローのドキュメント を参照してください。
gcp_location: (オプション) Google Cloud のロケーション。
gcp_project_id: (オプション) Google Cloud プロジェクト ID。
gcp_service_account: (オプション) Google Cloud サービスアカウントのメールアドレス。
gcp_workload_identity_provider: (オプション) Google Cloud Workload Identity Provider。
gcp_token_format: (オプション、デフォルト: access_token) 認証用のトークンフォーマット。"access_token" に設定するとアクセストークンを生成します (サービスアカウントが必要)。空文字列に設定すると直接 WIF を使用します。"access_token" または "id_token" を指定できます。
gcp_access_token_scopes: (オプション、デフォルト: https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/userinfo.email,https://www.googleapis.com/auth/userinfo.profile) token_format が "access_token" の場合のアクセストークンスコープ。カンマ区切りの OAuth 2.0 スコープのリスト。
すべてのワークフローで再利用できるように、以下の値をリポジトリ変数として設定することをお勧めします。または、個々のワークフローのアクション入力としてインラインで設定したり、リポジトリレベルの値を上書きしたりすることもできます。
[!WARNING]
DEBUG環境変数は使用しないでください。Gemini CLI がノードデバッガのアタッチを待機してハングする原因になります。
リポジトリ変数を追加するには:
リポジトリ変数の詳細については、変数に関する GitHub ドキュメント を参照してください。
リポジトリに次のシークレットを設定できます。
シークレットを追加するには:
詳細については、暗号化されたシークレットの作成と使用に関する公式 GitHub ドキュメント を参照してください。
このアクションは、Google サービス (Gemini AI 用) と GitHub API の両方に対する認証を必要とします。
ユースケースに最適な認証方法を選択してください。
GitHub での認証には 2 つの方法があります。
GITHUB_TOKEN: より単純なユースケースの場合、アクションはワークフローによって提供されるデフォルトの GITHUB_TOKEN を使用できます。Google 認証と GitHub 認証の両方の詳細なセットアップ手順については、認証ドキュメント を参照してください。
このアクションは、テレメトリデータ (トレース、メトリクス、ログ) を独自の Google Cloud プロジェクトに送信するように構成できます。これにより、ワークフロー内での Gemini CLI のパフォーマンスと動作を監視し、デバッグと最適化に役立つ貴重なインサイトを得ることができます。
可観測性のセットアップと構成の詳細な手順については、可観測性ドキュメント を参照してください。
Gemini CLI は、拡張機能を通じて追加機能で拡張できます。これらの拡張機能は、その GitHub リポジトリからソースとしてインストールされます。
拡張機能のセットアップと構成の詳細な手順については、拡張機能ドキュメント を参照してください。
自動化されたワークフローのセキュリティ、信頼性、効率を確保するために、ベストプラクティスに従うことを強くお勧めします。これらのガイドラインは、リポジトリのセキュリティ、ワークフローの構成、監視などの主要な領域をカバーしています。
主な推奨事項は次のとおりです。
リポジトリとワークフローを保護するための包括的なガイドについては、ベストプラクティスドキュメント を参照してください。
リポジトリのルートに GEMINI.md ファイルを作成して、Gemini CLI にプロジェクト固有のコンテキストと指示を提供します。これは、コーディング規約、アーキテクチャパターン、またはモデルが特定のリポジトリで従うべきその他のガイドラインを定義するのに役立ちます。
コントリビューションを歓迎します。Gemini CLI の コントリビューションガイド を参照して、はじめ方の詳細を確認してください。
gemini_api_key: (オプション) Gemini API の API キー。
gemini_cli_version: (オプション、デフォルト: latest) インストールする Gemini CLI のバージョン。"latest"、"preview"、"nightly"、特定のバージョン番号、または git ブランチ、タグ、コミットを指定できます。詳細については、Gemini CLI リリース を参照してください。
gemini_debug: (オプション) デバッグログと出力ストリーミングを有効にします。
gemini_model: (オプション) Gemini で使用するモデル。
google_api_key: (オプション) Gemini で使用する Vertex AI API キー。
prompt: (オプション、デフォルト: You are a helpful assistant.) Gemini CLI の --prompt 引数 に渡される文字列。
settings: (オプション) .gemini/settings.json に書き込まれて CLI の プロジェクト 設定を構成する JSON 文字列。
詳細については、設定ファイル のドキュメントを参照してください。
use_gemini_code_assist: (オプション、デフォルト: false) デフォルトの Gemini API キーの代わりに Code Assist を使用して Gemini モデルにアクセスするかどうか。
詳細については、Gemini CLI ドキュメント を参照してください。
use_vertex_ai: (オプション、デフォルト: false) デフォルトの Gemini API キーの代わりに Vertex AI を使用して Gemini モデルにアクセスするかどうか。
詳細については、Gemini CLI ドキュメント を参照してください。
extensions: (オプション) インストールする Gemini CLI 拡張機能のリスト。
upload_artifacts: (オプション、デフォルト: false) アーティファクトを GitHub Action にアップロードするかどうか。
use_pnpm: (オプション、デフォルト: false) gemini-cli のインストールに npm の代わりに pnpm を使用するかどうか。
workflow_name: (オプション、デフォルト: ${{ github.workflow }}) テレメトリ目的で使用される GitHub ワークフロー名。
github_pr_number: (オプション、デフォルト: ${{ github.event.pull_request.number }}) CLI が操作するプルリクエスト番号。デフォルトはイベントペイロード。
github_issue_number: (オプション、デフォルト: ${{ github.event.issue.number }}) CLI が操作するイシュー番号 (またはカンマ区切りのイシュー番号のリスト)。デフォルトはイベントペイロード。
| 名前 | 説明 | 種類 | 必須 | 必要な場合 |
|---|
GEMINI_DEBUG | Gemini CLI のデバッグログを有効にします。 | 変数 | いいえ | なし |
GEMINI_CLI_VERSION | インストールする Gemini CLI のバージョンを制御します。 | 変数 | いいえ | CLI バージョンを固定する場合 |
GCP_WIF_PROVIDER | Workload Identity Provider の完全なリソース名。 | 変数 | いいえ | Google Cloud を使用する場合 |
GOOGLE_CLOUD_PROJECT | 推論と可観測性のための Google Cloud プロジェクト。 | 変数 | いいえ | Google Cloud を使用する場合 |
SERVICE_ACCOUNT_EMAIL | Google Cloud サービスアカウントのメールアドレス。オプション - サービスアカウントを使用した WIF の場合にのみ必要 (直接 WIF の場合は不要)。 | 変数 | いいえ | サービスアカウントを使用した WIF の場合 |
GOOGLE_CLOUD_LOCATION | Google Cloud プロジェクトのリージョン。 | 変数 | いいえ | Google Cloud を使用する場合 |
GOOGLE_GENAI_USE_VERTEXAI | Vertex AI を使用するには true に設定します | 変数 | いいえ | Vertex AI を使用する場合 |
GOOGLE_GENAI_USE_GCA | Gemini Code Assist を使用するには true に設定します | 変数 | いいえ | Gemini Code Assist を使用する場合 |
APP_ID | カスタム認証用の GitHub App ID。 | 変数 | いいえ | カスタム GitHub App を使用する場合 |
| 名前 | 説明 | 必須 | 必要な場合 |
|---|
GEMINI_API_KEY | Google AI Studio からの Gemini API キー。 | いいえ | GCP プロジェクトがない場合。 |
APP_PRIVATE_KEY | GitHub App の秘密鍵 (PEM 形式)。 | いいえ | カスタム GitHub App を使用する場合。 |
GOOGLE_API_KEY | Vertex AI で使用する Google API キー。 | いいえ | express Vertex AI アカウントがある場合。 |