Devin の API を用いたコード Issue の自動解決
1. プロセス概要
- Pull Request が作成される: コードスキャンツールによって問題が検出される可能性のある変更を含む Pull Request(PR)がリポジトリに送信されます。
- GitHub Action がトリガーされる: PR の作成をきっかけに、GitHub Action のワークフローが自動的に起動します。
- GitHub Action が Devin API を呼び出す: GitHub Action は Devin API にリクエストを送り、検出された問題を自動解決のために渡します。
- Devin セッションが初期化される: Devin セッションが立ち上がり、問題のコンテキストを受け取り、提供されたデータに基づいて解決を試みます。
- Devin が人間によるレビュー用の PR を提案する: 問題が解決されると、Devin は提案された変更を含む PR を生成し、人間によるレビューのために送信します。
2. これを実現するための手順
-
CI および API 連携用に SonarQube を構成する:
- SonarQube が継続的インテグレーション (CI) と API 連携をサポートするように構成されていることを確認してください。API アクセス用に SonarQube をセットアップしたくない場合は、認証にクッキーを使用できます。このセットアップの詳細はこちら。
-
必要なシークレットを保持する GitHub 環境を構成する:
- Devin の API や他の連携ツールとやり取りするために必要な、認証トークンや設定キーなどのシークレットを安全に保存できるよう、GitHub 環境をセットアップします。
- 統合をテストする
- Devin Sessions ページを表示する
統合を構成するには、SonarQube インスタンスから次の 3 つの値を取得する必要があります。 SonarQube からは 3 つの値が必要です:
1. SONAR_TOKEN を作成する:
- SonarQube 画面右上のアカウントアイコンをクリックします。
- ドロップダウンから Security を選択します。
- Tokens セクションで Generate Tokens をクリックします。
- トークン名を入力し、Generate をクリックします。
- GitHub Actions で使用するために、生成されたトークンをコピーします。

2. SONAR_PROJECT を作成する
- SonarQube でプロジェクトを選択します。
- 画面左下の Information をクリックします。
- 下にスクロールして、プロジェクトキー(project key)を確認します。

3. SONAR_ORG を作成する
ここでは、以下を指定したローカルの SonarCloud プロパティファイル
sonar-project.properties があることを前提としています。


