これは何?
GitHubでAIが自動的に以下をやってくれるツールです:
- イシューに自動でラベル付け
- プルリクエストを自動レビュー
- コメントでAIと会話
必要なもの(準備編)
Gemini API Key を取得
- Google AI Studio にアクセス
- 「Create API Key」をクリック
- APIキーをコピー(後で使う)
GitHub App を作成
- GitHub > Settings > Developer settings > GitHub Apps > New GitHub App
- 以下の権限を設定:
- Repository permissions:
- Contents:
Read-only
- Issues:
Read & write
- Pull requests:
Read & write
- Contents:
- Repository permissions:
- 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. レビューコメントを投稿
使い方
自動イシュートリアージ
- 新しいイシューを作ると自動でラベルが付きます
プルリクエストレビュー
- プルリクエストにコメント:
@gemini-cli /review
- AIが自動でコードレビューしてコメントします
カスタム指示も可能
@gemini-cli /review セキュリティに注目して
@gemini-cli /review パフォーマンスをチェックして
カスタマイズ(上級者向け)
プロジェクト固有の設定
リポジトリのルートに GEMINI.md
ファイルを作成して、プロジェクト固有の指示を書けます:
# プロジェクト情報
このプロジェクトはReactアプリです。
- TypeScriptを使用
- テストはJest
- ESLintルールに従って
追加設定
- 観測可能性: Google Cloudと連携してログ・メトリクス収集
- スケジュール実行: 定期的なイシュートリアージ
- カスタムツール: 独自のコマンドを追加
トラブルシューティング
よくある問題
- 権限エラー: GitHub Appの権限設定を確認
- APIエラー: Gemini API Keyが正しいか確認
- 動かない: ワークフローファイルの場所とYAML文法を確認
ログの確認方法
- GitHub > Actions タブ
- 失敗したワークフローをクリック
- エラーメッセージを確認
完了!
これで設定完了です!新しいイシューやプルリクエストでAIアシスタントが動作するはずです。
最初は小さなテストイシューで動作確認してみてください!
おすすめ書籍: Amazonで関連商品を見る