なぜ Devin と GitLab を連携するのか?
GitLab リポジトリと Devin を連携すると、Devin はマージリクエストを作成し、MR コメントを読み取って返信し、チームとの連携を効果的に行えるようになります。これにより、Devin はエンジニアリングチームにとって真のコラボレーターとして機能します。セルフホスト型の GitLab インスタンスを利用していますか? Enterprise プランのユーザー向けに GitLab Self-Managed (バージョン 15.0 以降) をサポートしています。 “Connect” ボタンのドロップダウンをクリックし、Connect to self-hosted instance を選択するだけです。完全なセットアップ手順については、GitLab Self-Managed Integration ガイド を参照してください。同じドロップダウンには Connect service account もあり、以下の OAuth フローの代わりに、
api スコープを持つパーソナルアクセストークンを用いて GitLab.com のサービスアカウント (Free ティアでは専用のユーザーアカウント) を接続できます。統合のセットアップ
セットアップは簡単です! 次の手順で始めましょう。- Devin 専用の新しい GitLab アカウントを作成します (個人アカウントを作成するのと同じ要領です) 。統合の設定時には、このアカウントを使用し、個人アカウントは使用しません。
- Devin アカウントで Settings > Connections > Gitlab に移動し、「Connect」をクリックします。
-
GitLab にリダイレクトされるので、そこで次を実行します:
- Devin 用に作成した GitLab アカウントでログインします (個人アカウントではありません)
- Devin がリポジトリを操作できるように、必要な権限を付与します
- 完了すると Devin の設定ページに戻り、統合が有効になっていることを確認できます。
Webhook の設定
Webhook を設定すると、GitLab で特定のイベント (マージリクエストの作成や更新、マージリクエストへのコメントなど) が発生した際に、Devin がリアルタイム通知を自動で受信できるようになります。 Webhook を設定するには:- Devin アカウントで Settings > Connections > GitLab に移動します
- 設定対象の GitLab 接続をクリックして、詳細パネルを開きます
- General タブで、Webhook 行の Configure をクリックします
- ダイアログから Webhook の URL と Secret Token をコピーします
- ダイアログに表示される Group (推奨) または Project の手順に従って GitLab に Webhook を追加し、トリガーとして Comments、Merge request events、Push events、Issues events、Pipeline events を選択します
GitLab で Webhook を追加するには、プロジェクトの Maintainer ロールが必要です。グループ Webhook の場合は、グループの Owner ロールが必要です (グループ Webhook は GitLab Premium および Ultimate で利用できます)。組織で Webhook の自動設定が利用可能な場合は、Devin の GitLab アカウントが管理権限を持つすべてのプロジェクトとグループに Devin が Webhook を設定する旨がダイアログに表示されます。手動の手順は、Devin がアクセスできないプロジェクトに対してのみ利用してください。
リポジトリの権限
Core および Teams ユーザー向け
統合の設定が完了すると、Devin のWebアプリ内のプロンプトでリポジトリを直接 @メンションできます。Enterprise ユーザー向け
統合を設定すると、Settings > Repositories から、特定の組織にリポジトリを割り当てることができます。- ページ上部のドロップダウンから組織を選択します
- Manage permissions をクリックします
- Read & write または Read only のアクセス権で、該当するグループまたはリポジトリを追加します
接続後すぐにリポジトリが表示されない場合は、Devin が定期的にリポジトリ一覧を更新します。Devin では、リポジトリ一覧を手動で更新することもできます。
ユーザーのリンク
組織全体の接続に加えて、個々のユーザーが自分の GitLab アカウントを Devin にリンクすることもできます。これにより、GitLab の操作を Devin がそのユーザーの ID で実行できるようになります。たとえば、Settings > Devin > Pull requests で Open PRs as を User または User only に設定している場合、リンクされたユーザーとしてマージリクエストを作成します。 個人の GitLab アカウントをリンクするには:- GitLab 統合が設定済みの Devin 組織のメンバーであることを確認します
- 個人のアカウント設定で Settings > Connections を開きます
- GitLab の行を探して Link をクリックし、GitLab の認可を完了します
Personal Connections には、ユーザーが所属する組織の統合のみが表示されます。 GitLab の行は、組織に GitLab.com への接続がある場合に表示されます。セルフホスト型の GitLab インスタンス (Enterprise プラン) は、ホスト名がラベルとして付いた別の Self-hosted GitLab の行として表示され、リンク方法は同じです。GitLab の行が表示されない場合は、GitLab 接続のある Devin 組織のメンバーであるかどうかを確認してください。
GitLab 統合での Devin の利用
GitLab を接続したら、Devin’s Machine でリポジトリをセットアップしてください。Devin が MR コメントに応答する仕組み。 webhook を設定すると、Devin セッションが追跡しているマージリクエストへのコメントが、そのセッションにリアルタイムで配信されます。デフォルトでは、これによってスリープ中のセッションが復帰し、Devin がコメントに応答します。この動作を制限するには、組織の管理者が Settings > Devin > Pull requests で Require @Devin to respond を有効にします。この設定を有効にすると、Devin は
@Devin で始まるコメント、または Devin fix this のように独立した単語の Devin で始まるコメントにのみ復帰して応答します (devinai プレフィックスも使用できます) 。マッチングでは大文字と小文字は区別されません。(aside) または !aside を含むコメント、あるいは aside で始まるコメントは、この設定に関わらず常に無視されるため、Devin を復帰させずに MR について議論できます。webhook がない場合、MR コメントはセッションにリアルタイムで配信されません。ただし、セッション内で直接指摘すれば、Devin はそれらに対応できます。ベストプラクティス
- Devin 用の専用 GitLab アカウントを作成する
- main/master ブランチにブランチ保護を有効にする
- リアルタイムでイベント通知を受け取れるように webhook を設定する
サポート
- app.devin.ai/settings/support で弊社チームとの Slack Connect チャンネルを作成してください
- 問題を報告する際はセッションのリンクを共有し、スクリーンショットを添付してください

