生成AIでGitHubワークフローを自動化・高度化する
`google-gemini/gemini-cli-action` は、Googleの強力な生成AIモデル「Gemini」を、GitHub Actionsのワークフロー内に直接組み込むためのツールです。これにより、コードレビュー、ドキュメント生成、リリースノート作成といった様々な開発タスクを自動化し、生産性を飛躍的に向上させることができます。
Pull Requestの差分をGeminiに送信し、バグの可能性、パフォーマンスの懸念、コーディング規約の遵守状況を自動的にチェックさせます。レビュー担当者の負担を軽減し、品質を均一化します。
ソースコードから関数の説明、パラメータ、返り値などを抽出し、Markdown形式のドキュメントやコードコメントを自動生成します。ドキュメントの鮮度を常に最新に保つことが可能です。
コードの変更内容を解析し、「Conventional Commits」のような規約に準拠した、分かりやすいコミットメッセージを自動で提案します。コミットログの可読性が向上します。
生成前: `update files`
生成後: `feat(api): add user authentication endpoint`
新規作成されたIssueのタイトルと本文をGeminiが分析し、`bug`、`feature`、`documentation` といった適切なラベルを自動で提案または付与します。Issue管理の効率化に繋がります。
特定の関数やコンポーネントのコードを基に、正常系・異常系のテストケースを自動で生成します。テストカバレッジの向上を容易にし、開発の初期段階でバグを発見するのに役立ちます。
name: Gemini Code Review
on: [pull_request]
jobs:
review:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Get PR diff
id: pr_diff
run: |
diff_content=$(git diff origin/main)
echo "diff<> $GITHUB_OUTPUT
echo "$diff_content" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
- name: Gemini CLI Action
id: gemini_review
uses: google-gemini/gemini-cli-action@v1
with:
gemini_api_key: ${{ secrets.GEMINI_API_KEY }}
prompt: |
Please review the following code changes
and provide feedback on potential bugs,
style issues, or improvements.
---
${{ steps.pr_diff.outputs.diff }}
- name: Comment on PR
uses: actions/github-script@v7
with:
script: |
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: '${{ steps.gemini_review.outputs.gemini-response }}'
})
Gemini Actionの性能はプロンプトの質に大きく依存します。具体的で、文脈を十分に提供し、明確な役割を与えることで、返答の精度は劇的に向上します。このグラフは、プロンプトの具体性と応答品質の間の正の相関関係を示しています。