コンテンツにスキップ

Pivotal Tracker、Jira、その他のトラッカーから移行する

Pivotal Tracker、Jira、Linear、Asana、Trello、Shortcut、GitLab、Plane、GitHub から East Agile Tracker に移行しますか? まずドライラン プレビューでエクスポートをインポートします — 各ソースから何が引き継がれ、何が残るか。

East Agile Tracker は 11 個 のソースからインポートできます。10 個は相手のツールがすでに出力するエクスポートファイルを読み込み、GitHub はリポジトリに直接接続します。どのソースも同じ画面と同じプレビューを通るため、以下の手順はすべてに当てはまります。その後のセクションでは、各ソースから何が引き継がれるかを説明します。

エクスポートをインポートする

Section titled “エクスポートをインポートする”
  1. 相手のツールから作業をエクスポートします — 使うメニューは、以下のソースごとのセクションに書かれています。
  2. ストーリーを入れたいプロジェクトで Project Settings → Import / Export を開きます。必要なら先に空のプロジェクトを作成してください。
  3. ソースを選び、エクスポートファイルを指定します。
  4. ドライラン プレビュー を実行します。ファイル全体を解析し、実際のインポートが何を行うか — ストーリーとラベルが何件、スキップされる行が何件、メンバーに照合できなかった人 — を報告し、何も書き込みません。
  5. インポートします。

ソースに Jira を選び、エクスポートファイルを指定した Import / Export タブ。プレビューまたはインポートの直前

プレビューのレポート:ストーリー 8 件とラベル 3 件をインポート予定、スキップはなし、照合できない人が 1 人

同じファイルの再インポートは安全です。すでにインポートされた行はソースの id で照合されてスキップされるため、2 回目の実行はプロジェクトを重複させるのではなく差分を追加します。

アップロードは 10 MiB、1 回のインポートは 5,000 ストーリー が上限です。それより大きな移行はバッチに分割します。再インポートは冪等なので、バッチが重なっても重複は生まれません。

すべてのソースで引き継がれるもの

Section titled “すべてのソースで引き継がれるもの”
  • ストーリー、状態、ラベル。 各行やカードは 1 つのストーリーになり、そのステータスは unstarted → started → finished → delivered → accepted のループ上で最も近い状態に置かれ、ラベルも一緒に引き継がれます。キャンセルや won’t-fix のステータスは rejected かつアーカイブ済みで届くため、放棄された作業はボードにもベロシティにも入りません。
  • オーナー。 メンバーに一致するメールアドレスが入ったセルはそのメンバーを紐付けます。それ以外の値 — 表示名やユーザー名 — は表示専用の外部人物を紐付けるため、ここにアカウントがない人についても、誰が何のオーナーだったかが残ります。
  • 日付。 作成日と完了日がインポートされるため、過去のイテレーションとそれを読むチャートが空ではなく埋まります。
  • イテレーション。 エクスポートにスプリントやサイクルが含まれるすべてのソースで引き継がれます。

依頼者、コメント、エピック、タスクはソースによって異なります。どれが引き継がれるかは、以下の各ソースのセクションに書かれています。

  • 添付ファイル。 ファイルを運ぶインポーターはありません。ストーリーは添付なしで届きます。
  • アカウントとしての人物。 すでにメンバーではないオーナー、依頼者、コメント投稿者は、表示専用の外部人物として紐付きます。何も失われず誤った帰属も起きませんが、アカウントは作成されず招待も送られません — 通常の手順で招待すれば、その履歴はすでに紐付いています。
  • 最終更新日。 updated のタイムスタンプは入りません。
  • ワークフローの細部。 カスタムのステータスは上記ループの中で最も近い状態に畳み込まれます。大きなプロジェクトをインポートする前にサンプルを確認するのが、ドライラン プレビューです。

ソース:Pivotal Tracker (CSV export)。Pivotal Tracker は 2025年4月30日 に停止したため、エクスポート元となる稼働中のサービスはもうありません。このインポーターが読み込むのは、停止前に保管しておいた CSV エクスポートです。ボード、ストーリーの状態、受け入れのループは同じモデルに従うため、インポートしたプロジェクトは以前と同じように読めます。

Pivotal Tracker変換先
Title、Descriptionストーリーのタイトルと説明。URL 列はストーリーの出自として保持され、テキストのある説明には View original issue リンクが追加されます。
Typeストーリータイプ — feature、bug、chore、release はいずれも直接の対応があります。
Current Stateストーリーの状態。
Estimateストーリーのポイント見積もり。
Labelsラベル。値ごとに 1 つ。
Owned Byストーリーのオーナー。Pivotal はこの列をオーナーごとに繰り返し、そのすべてが読み取られます。
Requested Byストーリーの依頼者。
Comment(コメントごとに 1 列)ストーリーのコメント。元の著者と元のタイムスタンプ付き。
Task / Task Statusストーリー上のタスク。完了したタスクは完了した状態で入ります。
Blocker / Blocker Statusブロッカー。解決済みのものは解決済みで入ります。
Type=epic の行本物のエピック。再構築されてそれを参照するストーリーに結び付けられ、エピックの説明も引き継がれます。
Iteration、Iteration Startイテレーションのグリッド。まだ始まっていなかったイテレーションのストーリーは Backlog に残り、スプリント順にランク付けされます。
Created at、Accepted atストーリーの作成日と完了日。
Deadlinerelease ストーリーの予定日。

Pivotal のエクスポートには作業開始の列がないため、インポートされたストーリーのサイクルタイムの数値は空のままです。エピックはメンバーストーリーを通じて再構築されるため、どのストーリーも参照していないエピック行からは何も作られません。

ソース:Jira (CSV export)。Jira で目的のイシューを検索し、Export → Export Excel CSV (all fields) を使います。取るべきは all fields のエクスポートです — current fields のエクスポートはスプリント、ストーリーポイント、コメントの列を省きます。

Jira変換先
Summaryストーリーのタイトル。summary が空の行はインポートされません。
Descriptionストーリーの説明。Jira の wiki マークアップから markdown に変換されます。見出し、太字、コードブロック、リスト、リンクは変換され、それ以外はそのままのテキストとして保持されます。
Issue Typeストーリータイプ — Bug は bug になり、Story と Feature は feature になり、Task は chore になります。
Statusストーリーの状態。
Priorityストーリーの優先度。Highest から Lowest まで。
ストーリーポイントのカスタムフィールドストーリーの見積もり。ヘッダーにストーリーポイントを含む最初の列が使われるので、Custom field (Story Points) と Custom field (Story point estimate) のどちらでも動作します。
Labelsラベル。値ごとに 1 つ。
Fix Version/s値ごとに Release: <version> ラベル。
Sprintイテレーションのグリッド。Jira はイシューが通過したスプリントごとにこの列を繰り返し、最後のものが最終的な所属です。名前付きのスプリントは Sprint: <name> ラベルとしても残ります。
Assigneeストーリーのオーナー。表示専用の外部人物として扱われます — Jira の CSV にはメンバーと照合するためのメールアドレスがありません。
Reporterストーリーの依頼者。同じ規則で処理されます。
Comment(コメントごとに 1 列)ストーリーのコメント。それぞれ元の著者とタイムスタンプ付き。
Sub-task イシュー親ストーリー上のタスク。完了したサブタスクは完了状態で入ります。親がファイル内に存在しないサブタスクは、それ自体が 1 つのストーリーになります。
Epic イシューエピックの名前を付けたラベルが、その中のすべての子イシューに付与されます。
Issue key説明の末尾にプレーンテキストとして追記されます(Original issue: PROJ-12)。
Created、Resolvedストーリーの作成日と完了日。

Jira のエピックは、エピックのレコードではなく子に付くラベルとして届きます。グループ化は残り検索もできますが、エピック自身の説明は残りません。Jira はスプリントの名前をエクスポートし、その日付は出さないため、イテレーションはスプリント名の順に並びます。

ソース:Linear (CSV export) — Linear で Workspace settings → Import/Export → Export CSV。

  • Assignee はオーナーに、Creator は依頼者になります。
  • Project はストーリーのエピックになります。
  • サブイシューは親ストーリー上のタスクになります。
  • サイクルからイテレーションのグリッドが作られます。まだ始まっていないサイクルのストーリーは Backlog に残り、サイクル順にランク付けされます。
  • Started 列が読み取られるため、インポートされたストーリーでもサイクルタイムが機能します。
  • Linear の CSV にはタイプの列がありません。Bug ラベルの付いたストーリーは bug として、それ以外は feature として届きます。
  • Linear の CSV エクスポートにはコメントがなく、アーカイブ済みのイシューはスキップされます。

ソース:Asana (CSV export) — Asana で Project menu → Export/Print → CSV。

  • Assignee はオーナーになり、Assignee Email があればそれを通じてメンバーと照合されます。
  • タグはラベルになります。
  • サブタスクは親ストーリー上のタスクになります。
  • Completed At の日付があるタスクは accepted で届きます。
  • Asana の CSV には作成者の列もコメントもないため、インポートしたメンバーが依頼者になります。

ソース:Trello (JSON export) — Trello で Menu → Print and export → Export as JSON。

  • 各カードは 1 つのストーリーになり、カードが置かれたリストがその状態を決めます(To Do、Doing、Done や似た名前)。
  • カードのメンバーはオーナーになります。
  • コメントは著者とタイムスタンプ付きで引き継がれます。
  • チェックリストの項目はタスクになります。
  • ラベルは名前と色を保持します。色があって名前のないラベルは Trello-<colour> として届きます。
  • アーカイブ済みのカードはアーカイブ済みで届きます。
  • Bug ラベルの付いたカードは bug として届きます。Trello にはエピックも見積もりもないため、どちらも作られません。

ソース:Shortcut (CSV export) — Shortcut で Settings → Import/Export → Export to CSV。

  • owners はオーナーに、requester は依頼者になります。
  • epic はストーリーのエピックになります。
  • tasks はストーリー上のタスクになります。CSV には完了フラグが記録されないため、未完了で届きます。
  • イテレーションからイテレーションのグリッドが作られます。
  • started_at 列が読み取られるため、インポートされたストーリーでもサイクルタイムが機能します。
  • アーカイブ済みのストーリーはアーカイブ済みで届きます。Shortcut の CSV にはコメントがありません。

ソース:GitLab (CSV export) — GitLab でイシューの一覧を開き、Export as CSV を使います。GitLab がファイルをメールで送ってきます。

  • オープンのイシューは unstarted で、クローズ済みのものは accepted で届きます。
  • Weight は見積もりになります。
  • 担当者はオーナーに、作成者は依頼者になります。
  • イシューの URL は出自として保持されます。
  • Include milestones をオンにすると、各マイルストーンがエピックになります。オフの場合、マイルストーンの列は無視されます。
  • GitLab のイシュー CSV にはコメントがありません。

ソース:Plane (CSV export) または Plane (JSON export) — Plane で Workspace settings → Exports。

  • すべての担当者がオーナーになります。
  • コメントは著者とタイムスタンプ付きで引き継がれます。
  • Plane のステートグループが状態を決めます。キャンセルされたイシューは rejected かつアーカイブ済みで届きます。
  • サイクルからイテレーションのグリッドが作られ、Cycle: <name> ラベルとしても残ります。モジュールは Module: <name> ラベルになります。
  • Plane のエクスポートには作成者の列がないため、インポートしたメンバーが依頼者になります。Plane は作業開始日をエクスポートしないため、サイクルタイムはありません。

ソース:GitHub (Issues via API)。ファイルをアップロードする代わりに、オーナーとリポジトリを入力します。イシューは担当者、作成者、ラベル、コメント、チェックリストの項目とともにストーリーになります。プルリクエスト、マイルストーン(エピックとして)、リリースはオプトインです。トークン、レート制限などは GitHub リポジトリからプロジェクトを作成する にあります。

別の East Agile Tracker プロジェクトから

Section titled “別の East Agile Tracker プロジェクトから”

ソース:East Agile Tracker (native export) — 元のプロジェクトで Settings → Import / Export → エクスポートをダウンロード。これは無損失の経路です。フォロワー、レビュアー、エピック、タスク、ブロッカー、リンク、Icebox がすべて戻り、オーナーはメールアドレスでメンバーに再び紐付きます。

ストーリーは通常のストーリーです — 状態マシン、イテレーション、ベロシティがすべて適用されます。同じ画面から、後でプロジェクトを再びエクスポートできます。無損失のコピーなら East Agile Tracker 形式、他のツールの形式にも出力できます。操作手順 → プロジェクトのエクスポート を参照してください。

プロジェクトを作成してエクスポートをインポートする — インポーターはすべてのプロジェクトの設定画面にあります。