ClineとGitHub MCPで実現するPull Request作成の自動化

ClineとGitHub MCPで実現するPull Request作成の自動化

ClineとGitHub MCPを組み合わせれば、コードの変更内容を分析し、適切なPull Requestを自動生成できます。
Clock Icon2025.04.08

機能実装やバグ修正は完了したものの、その変更内容を適切に説明するPull Requestを書くのに意外と時間がかかってしまうことがあります。

ここでは、ClineとGitHub MCPを組み合わせて、コミットした変更内容から自動的にPull Requestを生成する方法をご紹介します。

https://docs.cline.bot/mcp-servers/mcp-quickstart

準備

ここではClineはすでにインストール済みで、すでに実行できる環境にあることを前提としています。今回使用しているModelはanthropic.claude-3-5-sonnet-20241022-v2です。

MarketplaceにあるGitHubの導入手順(執筆時には廃止されていたので畳んでいます)

まずはClineのMCP Marketplaceのアイコンを選択します。

githubを選択します。

するとタスクが実行されて次のようにPersonal access tokensを要求されます。

今回の対象はpublicなリポジトリだったので若干受けた指示内容に誤りもありますが、そこは空気を読んで進めていきましょう。Fine-grained personal access tokensのGenarate new tokenボタンを選択します。

Repository permissionsにはPull requestsにRead and write権限を付与しました。ここではPull Requestを作成することに限定しましたが、Issueを参照したり追加したい場合にはIssueにもRead and write権限があってもよさそうです。

後はActですべて自動で設定してくれます。

Tokenの作成以外ほとんどやることがないのでとても簡単です。

まずはClineのMCP Marketplaceのアイコンを選択します。

Edit Configrationを選択します。

以下のjsonをコピーしてください。

{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ここにTOKENを入力する"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

GitHubでTokenを作成します。Fine-grained personal access tokensのGenarate new tokenボタンを選択します。

Repository permissionsにはPull requestsにRead and write権限を付与しました。ここではPull Requestを作成することに限定しましたが、Issueを参照したり追加したい場合にはIssueにもRead and write権限があってもよさそうです。

ここで取得したTokenを先程のGITHUB_PERSONAL_ACCESS_TOKENに追加します。

あとはClineに接続のテストを依頼しましょう。

また、これらの設定自体公式サイトの手順にも書かれているようにClineに依頼することも可能です。

ただし自分の場合VS CodeのCopilotの設定をしてしまい、MCPの起動に失敗し続けるといったことになってしまったので、指示を与える場合には少し注意が必要です。

実際にPRを作ってもらう

実際にPRを作ってもらいましょう。シンプルに依頼してみます。

今の変更をプッシュして、githubのプルリクエストも作って

うまくいったようです。

実際に次のようなPRが作成されていました。

PRをもうすこしいい感じにしたい

今回出したPRの内容が内容なので仕方ない部分もありますが、PRがちょっとさみしいし他のPRとの統一感もありません。せっかくなので、.github/PULL_REQUEST_TEMPLATE.md を参照するルールを追加してみましょう。

## Pull Request

### Creating Pull Requests

When creating a Pull Request, please follow the template provided in `.github/PULL_REQUEST_TEMPLATE.md`. This ensures consistency and provides reviewers with all the necessary information to efficiently review your changes.

The PR title should clearly describe the purpose of your changes, making it immediately understandable for reviewers.

Screenshots are never required for pull requests. Please ignore this section.

すると、次のようにテンプレートを参照したPRを出してくれるようになりました。

タイトルがコミットログに引っ張られすぎている気もするので、もう少し調整は必要かもしれませんね。

まとめ

ClineとGitHub MCPを組み合わせることで、Pull Requestの作成作業を大幅に効率化できます。設定も数分で終わるので、PRの内容をついつい手抜きしてしまうという人におすすめです。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.