ChatGPT と Codex の GitLab 機能は現在ベータ版です。
概要
GitLab プラグインを使うと、ChatGPT と Codex が最新の GitLab データを取得できます。また、許可されている場合は、接続したユーザーがアクセスできるプロジェクトでアクションを実行できます。プロジェクト、グループ、リポジトリ内のファイル、ブランチ、コミット、マージリクエスト、イシュー、パイプライン、ジョブ、および関連するディスカッションに対応しています。
GitLab プラグインには、GitLab.com 用の GitLab アプリと GitLab Self-Managed アプリテンプレートが含まれています。プラグインはユーザーがインストールするパッケージで、アプリは GitLab のデータやアクションにアクセスするための接続機能です。
GitLab Self-Managed または GitLab Dedicated の場合、メンバーが接続する前に、ワークスペース管理者がテンプレートからワークスペース専用のアプリを作成して公開する必要があります。詳しくは、アプリテンプレートと、GitLab アプリテンプレートの設定方法をご覧ください。
個別同期に対応していた従来の GitLab Issues アプリは、現在ご利用いただけません。この記事の設定手順に従って、現在の GitLab アプリに接続してください。このアプリは、プロンプトに関連する API リクエストを通じてデータを取得します。
利用条件
利用できるかどうかは、プランやワークスペースの構成によって異なる場合があります。ワークスペース管理者は ChatGPT で GitLab プラグインを設定し、利用の可否、利用できるユーザー、有効にするアクション、承認が必要な条件を管理します。
GitLab プラグインでできること
GitLab からのデータの読み取り
ChatGPT と Codex は次の操作を実行できます。
プロジェクトとグループの確認
リポジトリツリーの閲覧とファイルの読み取り
ブランチ、コミット、差分の比較
マージリクエスト、承認、イシュー、ノート、ディスカッションの確認
パイプライン、ジョブ、ログ、テストレポートの確認
GitLab でのアクションの実行
ワークスペースの設定と GitLab の権限に応じて、ChatGPT と Codex は次の操作を実行できます。
ブランチとコミットの作成
リポジトリ内のファイルの作成、更新、削除
マージリクエストとイシューの作成、更新
ノートやディスカッションの追加
マージリクエストの承認、リベース、マージ
提案の適用
パイプラインの作成、ジョブやパイプラインの実行と再試行
利用できるアクションは、ワークスペースのロールアクセス、アクションの設定、承認の設定に加え、付与された OAuth スコープと、接続したユーザーの GitLab 権限によって異なります。
ChatGPT での GitLab の設定
GitLab.com への接続
ChatGPT を開きます。
プラグインディレクトリを開きます。
GitLab を検索します。
プラグインをインストールを選択します。
GitLab で接続を選択します。
認可を求められた場合は、GitLab で ChatGPT を認可します。GitLab プラグインは、付与された OAuth スコープの範囲内で、あなたの GitLab ユーザーとして動作します。そのため、ChatGPT と Codex がアクセスできるのは、あなたがアクセスできる GitLab のプロジェクトとグループのみです。
接続後は、ChatGPT または Codex で GitLab を使用して、プロジェクト、ファイル、マージリクエスト、イシュー、パイプラインを確認したり、許可されたアクションの実行を依頼したりできます。
プラグインのインストールと管理については、ChatGPT と Codex のプラグインをご覧ください。
GitLab Self-Managed または GitLab Dedicated への接続
ユーザーが接続する前に、ワークスペース管理者が GitLab Self-Managed アプリテンプレートを設定して公開する必要があります。手順については、ChatGPT と Codex 用の GitLab Self-Managed アプリテンプレートの設定をご覧ください。
GitLab の接続解除
ChatGPT を開きます。
設定 > プラグインに移動します。
GitLab を開きます。
アンインストールを選択します。
Code Review でのマージリクエストのレビュー
GitLab のマージリクエストレビューは、デスクトップ版とウェブ版の Code Review プラグインでプレビュー機能として利用できます。マージリクエストを開いて変更内容やレビューのフィードバックを確認し、Codex にコードの説明や問題への対処を依頼できます。
GitLab との接続により、GitLab データにアクセスできます。Code Review プラグインは、レビュー機能を提供します。どちらにも、ワークスペースの設定と GitLab の権限が適用されます。
GitLab のクラウドコードレビューは利用できません。GitLab に接続したり、Code Review でマージリクエストを開いたりしても、自動クラウドレビューは有効になりません。
データとプライバシー
ChatGPT と Codex の GitLab 連携の仕組み
ChatGPT と Codex は GitLab プラグインを使い、プロンプトに関連する API リクエストを送信します。たとえば、リポジトリツリーの一覧表示、特定のファイルの取得、マージリクエストの差分やディスカッションの読み取り、イシューの確認、パイプラインやジョブログの確認などを行います。有効なアクションが GitLab に変更を加えるものである場合、ChatGPT または Codex が実行できるのは、ワークスペースの設定、必要な承認、接続したユーザーの GitLab 権限のすべてで許可されている場合のみです。
モデルのトレーニングと GitLab のコンテンツ
ChatGPT Business、Enterprise、Edu、API などのビジネス向けサービスを利用するお客様が送信したコンテンツは、デフォルトでは OpenAI のモデルの改善に使用されません。OpenAI によるビジネスデータの使用について詳しくは、企業向けプライバシーをご覧ください。
個人向けサブスクリプションをご利用の場合、すべての人のためにモデルを改善するがオンになっていると、OpenAI はお客様のコンテンツをモデルのトレーニングに使用することがあります。データの保存と使用について詳しくは、データコントロールに関するよくある質問をご覧ください。
ChatGPT と Codex のどちらでアプリを使用しても、GitLab のコンテンツには同じワークスペースのデータコントロールが適用されます。
よくある質問
GitLab プラグインが読み取れるデータ
接続したユーザーが利用できる GitLab データを取得できます。対象には、プロジェクトとグループ、リポジトリツリー、ファイル、ブランチ、コミット、差分、マージリクエスト、イシュー、ノート、ディスカッション、CI/CD パイプライン、ジョブ、ログ、テストレポートが含まれます。実際に利用できるデータは、有効なアクションと GitLab の権限によって異なります。
ChatGPT と Codex による GitLab でのアクション実行の可否
はい。ワークスペース管理者が該当するアクションを有効にし、必要な承認が得られていれば実行できます。設定とあなたの GitLab 権限に応じて、ChatGPT と Codex は、ブランチとコミットの作成、リポジトリ内のファイルの作成・更新・削除、マージリクエストとイシューの作成・更新、ノートやディスカッションの追加、マージリクエストの承認・マージ、提案の適用、パイプラインの作成、ジョブやパイプラインの実行・再試行を行えます。
管理者によるプラグイン機能の制限方法
ChatGPT のワークスペース管理者は、ロールアクセスでアプリを利用できるユーザーを管理し、アクションの設定でアクションを有効または無効にできます。また、承認の設定で、特定のアクションに確認を必須とすることができます。GitLab 自体のプロジェクトとグループの権限も引き続き適用されます。
ChatGPT または Codex による特定のファイルやマージリクエストの差分の読み取り
はい、可能です。プロジェクトとファイル名またはパス、ブランチまたは参照、マージリクエストの URL または内部 ID(IID)、あるいは探しているコードの動作を指定してください。プラグインのアクションが有効で、あなたにアクセス権限があれば、ChatGPT または Codex は関連するファイル、リポジトリツリー、コミット、差分、マージリクエストの詳細を取得できます。
プロジェクトが表示されない場合
ChatGPT と Codex がアクセスできるのは、接続した GitLab ユーザーが閲覧できるプロジェクトのみです。意図した GitLab アカウントを接続しているか、GitLab のプロジェクトやグループへのアクセス権限があるか、GitLab.com、GitLab Self-Managed、GitLab Dedicated のそれぞれに対応する正しいアプリを選択しているかを確認してください。
GitLab プラグインの GitLab Self-Managed および GitLab Dedicated への対応
標準の GitLab アプリは GitLab.com に接続し、ChatGPT と Codex で使用できます。GitLab Self-Managed または GitLab Dedicated の場合、ユーザーが接続する前に、ワークスペース管理者が GitLab Self-Managed アプリテンプレートを設定して公開する必要があります。手順については、ChatGPT と Codex 用の GitLab Self-Managed アプリテンプレートの設定をご覧ください。
GitLab インスタンスがネットワーク通信をブロックしている場合
GitLab のクラウドコードレビューは利用できません。
