GitHub PRレビューボット
GitHub PRレビューボット — 公式ドキュメントに基づくわかりやすいガイド
GitHub PR レビューボット
まるで休憩も取らず、先延ばしもせず、プルリクエストが届いた瞬間にレビューしてくれる、疲れ知らずのチームメイトがいたらどうでしょう? そんな存在を、Hermes Agent で実際に作れるんです。
作るもの
GitHub リポジトリを監視して、新しいプルリクエストを自動でレビューしてくれるボットです。誰かが PR を開くと、ボットが飛んできて差分をチェックし、フィードバックを投稿します。しかも全部 WeChat 経由なので、チャットアプリの中でレビューを確認できます。
ステップ 1: WeChat ゲートウェイを準備する
まず、Hermes を WeChat に接続します。ここでは iLink Bot を使います。これを使えば、サーバーを立てずにメッセージの送受信ができます。
# Hermes Agent をインストール
pip install hermes-agent
# WeChat アダプターをセットアップ
hermes gateway setup
QR コードが表示されるので、WeChat でスキャンしてログインします。認証情報は自動で保存されます。
ステップ 2: ボットを設定する
config.yaml ファイルを作成し、WeChat の設定を追加します。
platforms:
weixin:
extra:
account_id: your-account-id
dm_policy: open
次に、GitHub 連携を追加します。GitHub の個人アクセストークンが必要です。
integrations:
github:
token: your-github-token
repos:
- your-username/your-repo
ステップ 3: レビューロジックを書く
新しい PR が開かれたときに動く、シンプルなスクリプトを作成します。
from hermes import Agent
agent = Agent()
@agent.on("github.pull_request.opened")
async def review_pr(event):
pr = event.pull_request
diff = await pr.get_diff()
# シンプルなチェック: 大きな PR にフラグを立てる
if len(diff.splitlines()) > 500:
await pr.comment("⚠️ この PR はかなり大きいですね。分割を検討してください。")
# テストの欠落をチェック
if "test" not in diff.lower():
await pr.comment("注意: テストの変更が検出されませんでした。")
ステップ 4: ゲートウェイを起動する
hermes gateway
これで完了です! ボットが稼働し始めました。誰かが PR を開くと、自動的に PR へコメントを投稿し、WeChat にも通知が届きます。
なぜこれがすごいのか
- Webhook もサーバーも不要 — Hermes が GitHub をロングポーリングするので、公開エンドポイントは不要
- スマートなメッセージ処理 — 長いレビューも 1 つの吹き出しにまとまり、変に分割されない
- 入力インジケーター — ボットが処理中は WeChat に「入力中…」が表示される
- リトライ機能内蔵 — 一時的なエラーでボットが落ちない
まとめ & プロからのアドバイス
インフラゼロで、WeChat 経由で動く PR レビューボットが完成しました。まずはシンプルに始めましょう。大きな PR にフラグを立てる、テストの欠落をチェックする、チェンジログの更新をリマインドする、などから始めるのがおすすめです。
実践的なアドバイス: 最初は 1 つのチェック(上記のテスト検出など)だけに絞りましょう。1 週間運用して、チームが本当に必要としているものを見極めてから、ルールを追加していくのがベストです。3 つのことをうまくこなすボットは、全部やろうとして全員をイライラさせるボットに勝ります。
📖 公式ドキュメント
この記事は Hermes Agent の公式ドキュメントに基づいています:公式ドキュメント › guides/github-pr-review-agent