Bitbucket Server から GitLab にプロジェクトをインポートします。

GitLab 11.2で導入されました

注意:Bitbucket ServerインポートはBitbucket Cloudでは動作しません。 BitbucketCloudインポーターを使用してください。

Bitbucket ServerからGitLabへ、最小限の労力でプロジェクトをインポートできます。

概要

  • 現在の状態では、Bitbucketインポーターはインポートできます:
    • リポジトリの説明 (GitLab 11.2+)
    • Git リポジトリデータ (GitLab 11.2+)
    • プルリクエスト (GitLab 11.2+)
    • プルリクエストのコメント (GitLab 11.2+)
  • リポジトリの公開は維持されます。 Bitbucketでリポジトリが非公開の場合、GitLabでも非公開として作成されます。

制限事項

  1. 現在のところ GitLab ではコードの任意の行にコメントをつけることはできません。そのため、Bitbucket のコメントの範囲外はマージリクエストのコメントとして挿入されます。
  2. Bitbucket Serverでは複数のスレッドレベルを設定することができます。 GitLabインポートはこれを1つのスレッドにまとめ、元のコメントの一部を引用します。
  3. 辞退されたプルリクエストには到達できないコミットがあり、GitLabインポーターが適切な差分を生成できません。 これらのプルリクエストは空の変更として表示されます。
  4. Markdownの添付ファイルは現在インポートされません。
  5. タスクリストはインポートされません。
  6. 絵文字リアクションはインポートされません。
  7. プロジェクトのフィルタリングは、あいまい検索をサポートしていません(現在サポートされているのは、starts with またはfull match strings のみです)。

どのように動作するか

Bitbucket Serverインポートの動作は以下の通りです:

  1. ユーザーは、BitbucketにログインするためのURL、ユーザー名、パスワード(または個人アクセストークン)の入力を求められます。 これらの認証情報は、インポーターが実行されている間だけ保持されます。
  2. インポーターは、Bitbucket サーバー上の現在のすべてのリポジトリの一覧を表示しようとします。
  3. 選択すると、インポーターはリポジトリをクローンし、プルリクエストとコメントをインポートします。

ユーザー割り当て

イシュー/プルリクエストがインポートされるとき、BitbucketインポーターはGitLabユーザーデータベースで確認された作成者のメールアドレスを見つけようとします。 そのようなユーザーがいない場合、プロジェクト作成者が作成者として設定されます。 インポーターはコメントで元の作成者を示すメモを追加します。

インポーターは新しい名前空間(グループ)が存在しない場合は作成し、名前空間が取られている場合は、インポート処理を開始したユーザーの名前空間でリポジトリがインポートされます。

Bitbucketリポジトリのインポート

  1. GitLabにサインインし、ダッシュボードに移動します。
  2. 新規プロジェクトをクリックします。
  3. Bitbucket Server “ボタンをクリックしてください。 ボタンがない場合は、Admin > Application Settings > Visibility and access controls > Import sourcesでインポーターを有効にしてください。

    Bitbucket

  4. Bitbucket Serverの認証情報を入力します。

    Grant access

  5. インポートしたいプロジェクトをクリックするか、すべてのプロジェクトをインポートします。 プロジェクト名でプロジェクトをフィルタリングし、各プロジェクトをインポートするネームスペースを選択することもできます。

    Import projects

トラブルシューティング

Bitbucketのトラブルシューティングをご覧ください。