Skip to main content

なぜ Devin と GitLab を連携するのか?

GitLab リポジトリと Devin を連携すると、Devin はマージリクエストを作成し、MR コメントを読み取って返信し、チームとの連携を効果的に行えるようになります。これにより、Devin はエンジニアリングチームにとって真のコラボレーターとして機能します。
セルフホスト型の GitLab インスタンスを利用していますか? Enterprise プランのユーザー向けに GitLab Self-Managed (バージョン 15.0 以降) をサポートしています。 “Connect” ボタンのドロップダウンをクリックし、“Self-Hosted” を選択するだけです。完全なセットアップ手順については、GitLab Self-Managed Integration ガイド を参照してください。

統合のセットアップ

セットアップは簡単です! 次の手順で始めましょう。
  1. Devin 専用の新しい GitLab アカウントを作成します (個人アカウントを作成するのと同じ要領です) 。統合の設定時には、このアカウントを使用し、個人アカウントは使用しません。
  2. Devin アカウントで Settings > Connections > Gitlab に移動し、「Connect」をクリックします。
  3. GitLab にリダイレクトされるので、そこで次を実行します:
    • Devin 用に作成した GitLab アカウントでログインします (個人アカウントではありません)
    • Devin がリポジトリを操作できるように、必要な権限を付与します
  4. 完了すると Devin の設定ページに戻り、統合が有効になっていることを確認できます。
GitLab のオンプレミス (セルフホスト型) 環境では、MR (マージリクエスト) のステータス (open、merged、closed) が Devin のセッションへ同期されるのは 1 日に 1 回だけです。次回の同期が行われるまでの間、セッションやセッション一覧に表示される MR ステータスが一時的に実際の状態と異なる場合があります。

Webhook の設定

Webhook を設定すると、GitLab で特定のイベント (マージリクエストの作成や更新、マージリクエストへのコメントなど) が発生した際に、Devin がリアルタイム通知を自動で受信できるようになります。 Webhook を設定するには:
  1. Devin アカウントで Settings > Connections に移動します
  2. 設定対象の GitLab インスタンスを見つけます
  3. Manage ドロップダウンをクリックします
  4. Configure Webhook を選択します
  5. 表示されるコマンドに従って設定を完了します
Webhook を設定
設定が完了すると、Devin は定期的なポーリングに依存せず、GitLab のイベントにリアルタイムで応答できるようになります。

リポジトリの権限

Core および Teams ユーザー向け

統合の設定が完了すると、Devin のWebアプリ内のプロンプトでリポジトリを直接 @メンションできます。

Enterprise ユーザー向け

統合を設定すると、Enterprise Settings > Repository Permissions から、特定の組織にリポジトリを割り当てることができます。
  1. Enterprise Repositories に移動します
  2. 対象の組織を選択します
  3. Manage Permissions を開きます
  4. 適切な read/write 権限で、該当するリポジトリを追加します
接続後すぐにリポジトリが表示されない場合は、Devin が定期的にリポジトリ一覧を更新します。Devin では、リポジトリ一覧を手動で更新することもできます。

ユーザー連携

セルフホスト型の GitLab インスタンスを利用している Enterprise ユーザーは、個人の GitLab アカウントを Devin に連携できます。これにより、GitLab での操作を Devin が各ユーザーに代わって実行できるようになります。 個人の GitLab アカウントを連携するには、次の手順を行います。
  1. GitLab リポジトリの権限を持つ Devin 組織のメンバーであることを確認します
  2. Devin の設定で Personal Connections に移動します
  3. GitLab 統合を探します
  4. GitLab 接続を選択し、連携フローを完了します
Personal Connections には、ユーザーが所属している組織の統合のみが表示されます。 GitLab 統合が表示されない場合は、GitLab リポジトリの権限を持つ Devin 組織のメンバーであることを確認してください。

GitLab 統合での Devin の利用

GitLab を接続したら、Devin’s Machine でリポジトリをセットアップしてください。
Devin が MR コメントに応答する仕組み。 webhook を設定すると、Devin セッションが追跡しているマージリクエストへのコメントが、そのセッションにリアルタイムで配信されます。デフォルトでは、これによってスリープ中のセッションが復帰し、Devin がコメントに応答します。この動作を制限するには、組織の管理者が Settings > Devin > Pull requestsRequire @Devin to respond を有効にします。この設定を有効にすると、Devin は @Devin で始まるコメントにのみ復帰して応答します (devinai プレフィックスも使用できます) 。(aside) または !aside を含むコメント、あるいは aside で始まるコメントは、この設定に関わらず常に無視されるため、Devin を復帰させずに MR について議論できます。webhook がない場合、MR コメントはセッションにリアルタイムで配信されません。ただし、セッション内で直接指摘すれば、Devin はそれらに対応できます。

ベストプラクティス

  • Devin 用の専用 GitLab アカウントを作成する
  • main/master ブランチにブランチ保護を有効にする
  • リアルタイムでイベント通知を受け取れるように webhook を設定する

サポート

  1. app.devin.ai/settings/support で弊社チームとの Slack Connect チャンネルを作成してください
  2. 問題を報告する際はセッションのリンクを共有し、スクリーンショットを添付してください