4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Gemini CLI GitHub Actions】Issue解決からPRレビューまでを生成AIで(半)自動化

4
Posted at

目的

2025年8月6日にGoogleからGemini CLI GitHub Actionsなるものが発表されました。

今回はこれを使って生成AIとともに以下のフローを作業するところまでを説明します。

(人間)GitHubにissueを登録する
    ↓
(AI)issueの内容を見てコードを修正&プルリク
    ↓
(AI)プルリクの内容をレビュー
    ↓
(人間)最終判断&マージ

Gemini CLI GitHub Actionsとは

ざっくり言うと、GitHubがサービスの一環として提供するワークフロー自動化サービスのGitHub Actionsを使ってGtiHub上からGemini CLIを呼び出し活用するものになります。
例えばプルリクエストやIssueのコメントで@gemini-cliとメンションすることで呼び出すことができます。

プロジェクトリポジトリの開発メンバーにAIが参画してくれるイメージです。

また、公式では以下のように謳っています。

Gemini CLI が個人のターミナルでの利用を想定したツールである一方、Gemini CLI GitHub Actions は開発者同士が協力して作業を進めるプラットフォーム上でのコラボレーションを目的として開発しました。

実際の挙動についてはこの後見ていきましょう。

導入手順

では、ここからは実際の導入から実演までを行います。

手順自体は以下のリポジトリのQuick Startをほぼ参照してます。

0. 前提

既にGemini CLIを導入したいリポジトリは作成されていることとします。

1. Gemini API Key の取得

GitHubからGemini CLIを呼び出す際はAPI経由になります。
そのためのAPI Keyを取得します。
Google AI StudioからAPIを作成&取得しましょう。

image.png
右上の「+APIキーを作成」からキーを作ります。
作成するプロジェクトは任意で変更してください。

2. GitHubシークレットにAPIキーを登録

image.png

Gemini CLIを導入したいリポジトリの Settings > Secrets and variables > Actions から New repository secret を押下します。
キー名をGEMINI_API_KEYとして値を登録します。

Key Value
GEMINI_API_KEY 手順1で取得したAPIキー

3. .gitignoreに除外対象のファイルを登録

プロジェクト配下に.gitignoreを作成し、下記を追加します。

.gitignore
# gemini-cli settings
.gemini/

# GitHub App credentials
gha-creds-*.json

4. GitHub上で動かすワークフローを作成する

リポジトリにGitHubワークフローのymlファイルを作成します。
作成方法は2つあります。


オプションA: Gemini CLIでセットアップコマンドを実行する

  1. プロジェクトターミナルでGemini CLIを起動します

    gemini
    
  2. Gemini CLI上で下記コマンドを実行します

    /setup-github
    

    Gemini CLIのバージョンが最新化されている必要があります。
    本記事執筆時のバージョン

    $ gemini --version
    0.1.22
    

うまくいくと以下のようにdownloaded 4 workflowsと表示されます。

KONDATE$ gemini
Data collection is disabled.
[ERROR] [IDEClient] Failed to connect to IDE companion extension for VS Code. Please ensure the extension is running. To install the extension, run /ide install.

 ███            █████████  ██████████ ██████   ██████ █████ ██████   █████ █████
░░░███         ███░░░░░███░░███░░░░░█░░██████ ██████ ░░███ ░░██████ ░░███ ░░███
  ░░░███      ███     ░░░  ░███  █ ░  ░███░█████░███  ░███  ░███░███ ░███  ░███
    ░░░███   ░███          ░██████    ░███░░███ ░███  ░███  ░███░░███░███  ░███
     ███░    ░███    █████ ░███░░█    ░███ ░░░  ░███  ░███  ░███ ░░██████  ░███
   ███░      ░░███  ░░███  ░███ ░   █ ░███      ░███  ░███  ░███  ░░█████  ░███
 ███░         ░░█████████  ██████████ █████     █████ █████ █████  ░░█████ █████
░░░            ░░░░░░░░░  ░░░░░░░░░░ ░░░░░     ░░░░░ ░░░░░ ░░░░░    ░░░░░ ░░░░░

Tips for getting started:
1. Ask questions, edit files, or run commands.
2. Be specific for the best results.
3. Create GEMINI.md files to customize your interactions with Gemini.
4. /help for more information.

╭───────────────────╮
│  > /setup-github  │
╰───────────────────╯

 ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
 │ ✔ Shell (set -eEuo pipefail && echo "Successfully downloaded 4 workflows. Follow the steps in https://github.com/google-github-actions/run-gemini-cli/blob/v0.1.11/README.md#quick… │
 │                                                                                                                                                                                      │
 │    Successfully downloaded 4 workflows. Follow the steps in https://github.com/google-github-actions/run-gemini-cli/blob/v0.1.11/README.md#quick-start (skipping the                 │
 │    /setup-github step) to complete setup.                                                                                                                                            │
 │                                                                                                                                                                                      │
 │    bash: line 1: xdg-open: command not found                                                                                                                                         │
 │                                                                                                                                                                                      │
 ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯


オプションB: ワークフローを手動でコピーする

事前に構築されたワークフローをexamples/workflowsディレクトリからリポジトリの.github/workflowsディレクトリにコピーします。


ここまでの手順で以下のファイル群が作られていればOKです。
image.png

これらのファイルをリモートにプッシュしましょう。
ここまででリポジトリのCodeは以下のようになっています。
image.png

Actionsタブより4つのワークフローが登録されていればOKです。
image.png

それぞれのトリガーと役割は以下になります。

ワークフロー トリガー 概要
Gemini CLI Issue/PR のコメント: @gemini-cli コード修正など幅広いタスクに対応。
Gemini Pull Request Review PR 作成 / コメント: @gemini-cli/review 変更ファイルや PR メタ情報を収集し、レビュー観点に沿ったフィードバックを投稿(必要に応じて追加指示も反映)。
Gemini Automated Issue Triage Issue 新規作成・再オープン / コメント: @gemini-cli/triage Issue 本文やコメントを解析し、ラベル付け・優先度付けなどのトリアージを自動化。
Gemini Scheduled Issue Triage スケジュール(cron) 取りこぼしや未分類の Issue を定期スキャンしてトリアージ。常時の自動トリアージを補完する“夜間バッチ”的役割。

使ってみる

これから以下のフローをAIとともに実践していきます。

(人間)GitHubにissueを登録する
↓
(AI)issueの内容を見てコードを修正&プルリク
↓
(AI)プルリクの内容をレビュー
↓
(人間)最終判断&マージ

1. (人間)GitHubにissueを登録する

今回は本日の献立を考えるissueを登録します。
その後、コメントにて@gemini-cliをメンションとし、タスクの実行をお願いしています。
image.png

現状、コメント内で改行をすると正常に動作しませんでした。

2. (AI)issueの内容を見てコードを修正&プルリク

ちょっとすると、botから返信がありました。
リクエストをいただき、現在作業中です!🤖 とのことです。
image.png

作業が完了すると追加でコメントが来ました。
image.png

ブランチ作成からコードの修正までは行ってくれましたがプルリクエストまでは権限がないためできませんでした😭
ここは代わりにプルリクエストを作成してあげましょう。

ちなみに、ActionsのワークフローからもGemini CLIが動いていることが確認できます。
image.png

3. (AI)プルリクの内容をレビュー

image.png

プルリクエストを作成すると今度はGemini Pull Request Reviewのワークフローが動きました。
image.png

しばらくするとプルリクエストの内容について、レビュー結果を返してくれました。
image.png

4. (人間)最終判断&マージ

内容に問題がないかを判断し、マージするとちゃんと変更が反映されました!
image.png

まとめ

いかがでしたでしょうか。
このGemini CLI GitHub Actionsを活用すれば、プロジェクトリーダーが各メンバーにタスクを振るり分けるように、AIにissueを解決させることができます。

もちろん、ワークフローをカスタマイズすれば独自のAIフローをGitHub上に構築することもできます。

正直、コーディングやGitの操作に慣れている人からすると以下のような組み合わせのほうが開発効率は上がるかもしれません。

ただ、それぞれ役割が違うかと思います。
冒頭にも記載しましたが公式でも以下のように謳っています。

Gemini CLI が個人のターミナルでの利用を想定したツールである一方、Gemini CLI GitHub Actions は開発者同士が協力して作業を進めるプラットフォーム上でのコラボレーションを目的として開発しました。

まさにプロジェクトの生成AIをメンバーとして迎え入れるイメージですね。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?