PR

でも分かる!Gemini CLI Action 設定ガイド

これは何?

GitHubでAIが自動的に以下をやってくれるツールです:

  • イシューに自動でラベル付け
  • プルリクエストを自動レビュー
  • コメントでAIと会話

必要なもの(準備編)

Gemini API Key を取得

  1. Google AI Studio にアクセス
  2. 「Create API Key」をクリック
  3. APIキーをコピー(後で使う)

GitHub App を作成

  1. GitHub > Settings > Developer settings > GitHub Apps > New GitHub App
  2. 以下の権限を設定:
    • Repository permissions:
      • Contents: Read-only
      • Issues: Read & write
      • Pull requests: Read & write
  3. App IDと秘密鍵をダウンロード(後で使う)

設定手順(実践編)

ステップ1: シークレットを設定

GitHubリポジトリの Settings > Secrets and variables > Actions で以下を追加:

シークレット名
GEMINI_API_KEY Google AI Studioで取得したAPIキー
APP_ID GitHub AppのID
PRIVATE_KEY GitHub Appの秘密鍵

ステップ2: ワークフローファイルを作成

リポジトリに .github/workflows/ フォルダを作って、以下のファイルを追加:

自動イシュートリアージ

ファイル名: .github/workflows/gemini-issue-triage.yml

name: Gemini Issue Triage

on:
  issues:
    types: [opened, reopened]

jobs:
  triage:
    runs-on: ubuntu-latest
    permissions:
      issues: write
      contents: read
    steps:
      - name: GitHub App Token
        id: token
        uses: actions/create-github-app-token@v1
        with:
          app-id: ${{ secrets.APP_ID }}
          private-key: ${{ secrets.PRIVATE_KEY }}

      - name: Checkout
        uses: actions/checkout@v4
        with:
          token: ${{ steps.token.outputs.token }}

      - name: Run Gemini Triage
        uses: google-gemini/gemini-cli-action@main
        env:
          GITHUB_TOKEN: ${{ steps.token.outputs.token }}
          ISSUE_TITLE: ${{ github.event.issue.title }}
          ISSUE_BODY: ${{ github.event.issue.body }}
          ISSUE_NUMBER: ${{ github.event.issue.number }}
          REPOSITORY: ${{ github.repository }}
        with:
          GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
          settings_json: |
            {
              "coreTools": [
                "run_shell_command(gh label list)",
                "run_shell_command(gh issue edit)"
              ],
              "sandbox": false
            }
          prompt: |
            イシューを分析して適切なラベルを付けて。
            1. `gh label list` で利用可能なラベルを確認
            2. イシューの内容を分析
            3. `gh issue edit` でラベルを追加

自動プルリクエストレビュー

ファイル名: .github/workflows/gemini-pr-review.yml

name: Gemini PR Review

on:
  issue_comment:
    types: [created]

jobs:
  review:
    if: >
      github.event.issue.pull_request && 
      contains(github.event.comment.body, '@gemini-cli /review') &&
      (github.event.comment.author_association == 'OWNER' ||
       github.event.comment.author_association == 'MEMBER')
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write
    steps:
      - name: GitHub App Token
        id: token
        uses: actions/create-github-app-token@v1
        with:
          app-id: ${{ secrets.APP_ID }}
          private-key: ${{ secrets.PRIVATE_KEY }}

      - name: Checkout
        uses: actions/checkout@v4
        with:
          token: ${{ steps.token.outputs.token }}

      - name: PR Review
        uses: google-gemini/gemini-cli-action@main
        env:
          GITHUB_TOKEN: ${{ steps.token.outputs.token }}
          PR_NUMBER: ${{ github.event.issue.number }}
          REPOSITORY: ${{ github.repository }}
        with:
          GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
          settings_json: |
            {
              "coreTools": [
                "run_shell_command(gh pr view)",
                "run_shell_command(gh pr diff)",
                "run_shell_command(gh pr comment)"
              ],
              "sandbox": false
            }
          prompt: |
            プルリクエストをレビューして。
            1. PRの詳細を取得
            2. 変更内容を分析
            3. レビューコメントを投稿

使い方

自動イシュートリアージ

  • 新しいイシューを作ると自動でラベルが付きます

プルリクエストレビュー

  1. プルリクエストにコメント:@gemini-cli /review
  2. AIが自動でコードレビューしてコメントします

カスタム指示も可能

  • @gemini-cli /review セキュリティに注目して
  • @gemini-cli /review パフォーマンスをチェックして

カスタマイズ(上級者向け)

プロジェクト固有の設定

リポジトリのルートに GEMINI.md ファイルを作成して、プロジェクト固有の指示を書けます:

# プロジェクト情報
このプロジェクトはReactアプリです。
- TypeScriptを使用
- テストはJest
- ESLintルールに従って

追加設定

  • 観測可能性: Google Cloudと連携してログ・メトリクス収集
  • スケジュール実行: 定期的なイシュートリアージ
  • カスタムツール: 独自のコマンドを追加

トラブルシューティング

よくある問題

  1. 権限エラー: GitHub Appの権限設定を確認
  2. APIエラー: Gemini API Keyが正しいか確認
  3. 動かない: ワークフローファイルの場所とYAML文法を確認

ログの確認方法

  1. GitHub > Actions タブ
  2. 失敗したワークフローをクリック
  3. エラーメッセージを確認

完了!

これで設定完了です!新しいイシューやプルリクエストでAIアシスタントが動作するはずです。

最初は小さなテストイシューで動作確認してみてください!

おすすめ書籍: Amazonで関連商品を見る

タイトルとURLをコピーしました