Backlogのスペース間のプロジェクト移行についてのTips

当記事はBacklogのアドベントカレンダー12日目の記事として書いています。

Backlogのスペース間をまたいだ、移行をするためのツールの紹介と、そのTipsをお届けします。

スペース間の移行とは?

まず少しだけ前提をお伝えします。Backlogにはスペース→プロジェクト→課題というような階層になった構造があります。

スペースは、いわば契約毎に割り当てられるもので、基本このスペースにログインすることでBacklogを利用します。

スペースの中には復数のプロジェクトが作られます。案件ごとであったり、部署ごとであったり、任意の目的にあわせてプロジェクトを作ります。

そのプロジェクトの中で課題を立てていく。という形です。

このなかの一番上の概念であるスペースは、そもそも契約が異なる場合も有ります。

今回はこの異なるスペース間において、プロジェクトを移行するという作業の紹介です。

Backlog 移行ツールを利用することで実現できる。

スペース間のプロジェクトの移行には、Backlog 移行ツールを利用します。

こちらはJava8の実行環境において動かすツールとなります。操作自体はコマンドラインツール(通称:黒い画面)から実行します。

移行ツール利用のざっくりとした手順

手順は以下のようになります。

  1. 移行元のスペースおよび移行先のスペースそれぞれでAPIキーを取得する
  2. 移行元となるプロジェクトを決定する
  3. 移行先のプロジェクトを決定する
  4. 移行ツールにて init を実行する
  5. 4の手順で生成されたユーザーのリストをもとに、移行元と移行先のユーザーをマッピングさせる
  6. 移行ツールにて execute を実行する

以上の手順で、スペース間をまたいだ移行を行えます。

一部(スターの数や、おしらせの既読・未読)移行できないものがありますが、大まかにはほとんどの内容を(課題、Wiki等)移行できます。

移行時のTips

やっとここからが本題です。いくつかTipsをご紹介します。

1.プロジェクト名を揃えてられるなら、揃えておいたほうが吉。

移行元と移行先でプロジェクト名を揃えておけるなら、そのほうが良いです。というのも、Backlogには課題番号を課題やWikiに書くと、自動的にリンクになる機能があるのですが、移行時に異なるプロジェクト名にすると、移行後のリンク先が無くなってしまうためです。

移行ツールは基本的に中の文字列を、移行先にあわせて置換するといった機能は含まれないため、課題番号でのリンクをそのまま活かしたいときは、プロジェクト名を揃えておくのが吉です。

2.ファイルはエクスプローラー(ファインダー)経由で移行する

課題とWikiは、このツールで移行できますが、ファイルを移行する機能はありません。じゃあこの部分は手動で一つづつ移行する必要があるのか?というとそうではありません。

BacklogにはローカルのPC内のエクスプローラー(macの場合はファインダー)からBacklogのファイルを操作する機能が提供されています。

こちらを利用し、まずは移行元から全てのファイルをDLし、その後、移行先のファイルへ一括アップロードするという手法がとれます。

3.Gitリポジトリは手動移行

Gitのリポジトリも移行するツールはありません。ただGitは元々分散型のバージョン管理ツールですから、移行元からcloneしておいた、リポジトリを移行先のプロジェクトにおいてpushするという手順で、移行ができます。

4.ユーザーマッピングが1対1にならない場合は注意

手順のなかにあるユーザーマッピングですが、この機能を利用することで、移行元と移行先でユーザーの割当を変更することができます。

移行元にはAさん、Bさん、Cさんがいたとします。

移行先にはAさん、Bさんのみが存在し、Cさんはいないため、ユーザーマッピングでCさんの分もBさんにする、と言うようなことが可能です。たとえば、課題の進捗において、担当者だけがどんどん変わっていったような履歴がある場合。

Aさん→Cさん→Bさん→Aさん

この場合に、マッピングではCさんがBさんとしたので、移行先では

Aさん→Bさん(Cさんからのマッピング)→Bさん→Aさん

というようになります。ここでBさんからBさんというのは、何も変わってないため。履歴がなくなります。というかんじでユーザーマッピングは便利な機能なのですが、ユーザーをまとめた場合には一分注意が必要です。

5.URLでの直リンクは置換されない

課題番号でのリンクでなく、ファイルのURLや、課題自体のURLでリンクをしている場合は、リンクURLの文字列が置換されないため。移行元へのリンクのママとなります。

6.一旦テストで移行してみることをおすすめします

基本的には、ほぼ問題なく、移行できます。しかし、一部移行できない箇所が、プロジェクトによっては、大切な情報である場合も考えられます。ということで、移行時には一度、移行先にテスト用プロジェクトを立てて、そこで実施を行い、ツールでの移行結果が許容できる範囲かどうかと言うのを確認することをおすすめします。

最期に

スペース間をBacklog 移行ツールを利用して移行するときのTipsをおとどけしました。Javaの実行環境さえ準備できれば、作業自体はシンプルなものなものです。必要になったときはチャレンジしてみてください。(まずはテストで移行から。)

ご不安がある場合は公式パートナーにご相談いただくとより詳しく回答が得られると思いますし、さらなるカスタマイズも実現できるとおもいます。