0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

マージ後に任意のアクションを実行するCodeRabbit Post-Merge Actionsの使い方

0
Posted at

CodeRabbitはAIコードレビューを基本としたエージェント型変更管理サービスです。AIエージェントが生成するコードを検証し、開発者が理解できるように並べ替え、優先順位を付け、リスクや意図を説明し、セキュリティ脅威に対してもコードベースを安全に保つサービスを目指しています。

CodeRabbitのコードレビューに関連した新しい機能として、マージ後アクション(Post-Merge Actions)が登場しました。

プランおよびプラットフォームについて

Post-Merge ActionsはPro+以上のプランに対してサポートされています。また、GitHubやGitLab、BitBucket、Azure DevOpsなど全プラットフォームをサポートしています。

実行例

たとえば以下のように設定をします。これは .coderabbit.yaml での記述例です。

reviews:
  post_merge_actions:
    - enabled: true
      name: Notionに記載
      prompt: >-
        マージが完了したら、Notionの変更履歴ページ 3a...99 に変更内容をGitのコミットIDとともに記載してください。
        履歴は日毎にまとめてください(時間は不要)。

自然言語で書けるので何を行うかは明確かと思います。実際にマージすると、Notionのドキュメントに以下のように出力されます。

image.png

使い方

使い方は reviews.post_merge_actions に対して、配列で定義していきます。

キー 内容
enabled 有効無効の切り替え
name アクション名
prompt 実行する内容

利用方法として、以下の3パターンが想定されています。

  1. コードの修正
    ファイル中に変更履歴を追加するといった使い方です。この場合、新しいPRが作成されます。
  2. テキストレポート
    PRの最後に、自由形式のレポートを記載します。なお、マージ後アクションが失敗した際にもコメントで報告されます。
  3. MCP
    MCPサーバーを使うパターンです。上記のNotionもMCPサーバーを利用しています。

完了時

処理が完了した際には、PRの最後に追加コメントが行われます。

スクリーンショット 2026-08-13 20.34.46.png

失敗した際にも、その内容がコメントで確認できます。

スクリーンショット 2026-08-13 20.35.09.png

MCP連携について

MCPサーバーの連携は、ダッシュボードの Review > Integrations にて行ってください。ここで有効になっているMCPサーバーが利用できます。

追加されたPRについて

マージ後アクションで作成されたPRには、 🔧 CodeRabbit Post-Merge Recipe: が付与されています。これがあると、マージ後にもマージ後アクションは実行されません。

コマンド

PRのコメントで利用できるコマンドとして、2つ用意しています。

# すべてのアクションをスキップ
@coderabbitai skip post-merge actions

# 特定のアクションをスキップ
@coderabbitai skip post-merge actions --name "Update changelog" --name "Notify release channel"

設定の例

ドキュメントの更新

review:
  post_merge_actions:
    - name: "ドキュメントの同期"
      enabled: true
      prompt: |
        公開API、設定オプション、CLIフラグ、またはユーザーから見える動作に変更がないか、差分を確認してください。
        変更が見つかった場合は、docs/ディレクトリ内の該当する箇所を更新してください。

        - APIの変更 → docs/api-reference/
        - 設定の変更 → docs/configuration.md
        - CLIの変更 → docs/cli.md
        
        該当するドキュメントファイルが存在しない場合は、適切な見出しと、コードおよびPRの説明に基づく1段落程度の説明文を記載したひな形を作成してください。
        内部的なリファクタリング、テストの変更、またはCIの変更については、ドキュメントを更新しないでください。

review:
  post_merge_actions:
    - name: "変更履歴(CHANGELOG)の更新"
      enabled: true
      prompt: |
        PRのタイトル、説明、および変更内容全体(diff)を確認してください。 
        CHANGELOG.mdの「Unreleased」セクションの先頭に、新しい項目を追記してください。 

        形式: `- <type>(<scope>): <短い説明> (#<PR番号>)`
        - typeは変更内容に基づいて決定(feat, fix, refactor, docs, chore)
        - scopeは変更が加えられた主要なディレクトリやパッケージに基づいて決定
        - 説明は平易な言葉で80文字以内に収めること
        
        PRがユーザーに影響する重要な変更やAPIの変更である場合のみ実行してください。 
        依存関係の更新、誤字の修正、CIのみの変更についてはスキップしてください。 
        ファイル内の他の箇所は変更しないでください。

まとめ

マージ後アクションを使うと、作業の抜け漏れが防げたり、CHANGELOGのような記述も漏れなく行えるようになります。自然言語で定義でき、MCPサーバーを使えば他のサービスとの連携も容易です。

ぜひお試しください。

CodeRabbit

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?