Jira:バックアップ的にプロジェクトをコピーしたい(CSVエクスポートしてインポートする)

8954 ワード

やりたいこと

大きくリスケをすることになり、後に過去の想定がどうだったかを振り返りたくなった場合に備え、プロジェクトのスナップショットを取りたい。
ファイルをコピーして「_old.xlsx」みたいにする感じでさらっとバックアップみたいなものが取れたらなぁと。

ぱっと調べた感じでは端的に「プロジェクトのコピー」というような機能はない。
CSVエクスポート機能とインポート機能があるので、これでどこまで再現できるのかを試す。

前提の環境

コピー元のプロジェクトは、「Jira Software」の「テンプレート:スクラム」「タイプ:チーム管理対象」で作られている。
2022年3月に試した内容です。Cloud製品は日々変わっていきますよね…。

うまく行った手順

まず最初にうまく行った手順を示す。
それぞれの細かい説明や、試行錯誤の過程はその後書きます。
記述の簡素化のため、コピー元のプロジェクトを「SRC」、コピー先のプロジェクトを「DST」と書きます。

1.SRCからCSVエクスポート

「課題」ページの上部「課題をエクスポート>Excel CSVのエクスポート」。
「課題」が左メニューにない場合は、「プロジェクト設定>機能」から「課題ナビゲーター」を有効にする。

2.DSTプロジェクト作成

テンプレート:スクラム
タイプ:企業管理対象
後述しますが「チーム管理対象」は、まだCSVインポートにはあまり対応できてないようです。
そんなに使い倒してない私の所感では「チーム管理対象」の方が使いやすい印象があるが、今回はコピーしたDST側ではいろいろ操作するということはなく、後で情報が見れればいいので問題なしとする。

3.DSTに、必要なスプリントを作成し、IDを控える

SRCにあったスプリントをDSTにも作る。
作った各スプリントのID(数値)を調べて控えておく。
調べ方は後述。

4.CSVを整える

CSVをエクセルで編集するといろいろ問題が起きる。
今回は「Cassava」というフリーソフトを使った。

不要な列を削除

今回残した列は以下

  • 要約
  • 課題キー
  • 課題タイプ
  • ステータス
  • 優先度
  • 作成日
  • 期日
  • ラベル
  • 説明
  • 課題外部リンク (Blocks)
  • 課題外部リンク (Cloners)
  • カスタム フィールド (Issue color)
  • カスタム フィールド (Rank)
  • スプリント
  • カスタム フィールド (Start date)
  • コメント
  • Parent summary

ラベル、スプリント、コメントは複数列ある。そのままでいい。

「添付ファイル」に関してはインポートの仕方は分かったが手間だったので今回は対応しなかった。ほぼ添付してなかったので。

「Epic Name」列の作成

「要約」列を丸っとコピーして「Epic Name」列にする。

一括置換

  • 対象列:作成日、期日、カスタムフィールド(Start date)、コメント
    • 「午前」を「AM」に
    • 「午後」を「PM」に
  • 対象列:課題キー、課題外部リンク (Blocks)、課題外部リンク (Cloners)
    • 課題キーのプレフィックス部分をDSTプロジェクトに合わせて置換する(SRC-100 を DST-100に置換するなど)
  • 対象列:スプリント
    • 文字列から、事前に調べたスプリントIDの数値に置換

「コメント」列全体に置換してしまうとコメント文章中に「午前」「午後」のワードがあった場合にそれも置換されてしまうので問題があるが、今回はそこは目をつぶることにした。「コメント」列のヘッダっぽいところに日付が埋まってるので、厳密にやるなら正規表現置換などでその部分だけ置換するほうがよい。

「課題キー」はもしかするとプレフィックスを書き換えなくても「いいかんじに」変換してくれそうな感じもしたが、その点は試行錯誤せず自前で置換することにした。

エピックをソートしてリストの上位に集める

「課題タイプ」列をソートして、「エピック」の行が上部に集まるようにする。
エピックを先にインポートしないと、その子になるチケット登録でエラーになるため。

5.インポート

右上の歯車(設定)>システム>外部システムインポート>CSVと進めていく。
おおむねこちらのドキュメントに書いてある通り。