CSVからのデータのインポート

JIRA にバンドルされている JIRA インポーター プラグインを使用すれば、カンマ区切り形式(CSV)ファイルからデータをインポートできます。CSV ファイルは、表形式データを表すテキストファイルで、表形式データを処理する、ほとんどのアプリケーション(たとえば、Microsoft Excel、データベース等)でサポートされています。

CSV インポート機能により、次のような外部(課題トラッキング)システムから課題をインポートできます。

  • JIRAは専用のインポートツールを提供していません、そして
  • 構造化/表形式(できれば、CSV 形式)でデータをエクスポートできる外部システム。

(info)当社のメイン ウェブサイトでは、ユーザーがこの種の外部の課題トラッキング システムから JIRA に移行する理由の上位に入るものをいくつか取り上げています。

CSV インポート プロセスの手順

  1. CSV ファイルの準備 (後述)。
  2. CSV ファイル インポート ウィザードの実行 (後述)。
    • インポート プロセスで個々のフィールドやフィールド値のマッピングを選択できます。
    • CSV インポート ウィザードの最後の段階で、CSV 設定ファイルを作成するオプションが表示され、そのファイルには CSV インポート ウィザードを実行する過程で設定した内容が含まれています。 これは、本番システムでインポートを実行する前に、テスト用 JIRA サーバーで CSV ファイルのインポートをテストする必要がある場合に役に立ちます。

(warning) 注意:

  • 他の課題トラッキング システムから JIRA にデータをインポートするには、いくつかの方法が利用可能です。他の課題トラッキング システムによっては、こうした他の方法のいずれかを使用する方が、始めにそのシステムから CSV ファイルにデータをエクスポートし、次いで CSV ファイルを JIRA にインポートするやり方より適切な場合があります。使用中の他の課題トラッキング システムが他の課題トラッカーからの移行ページの一覧に含まれている場合、その課題トラッカーから JIRA にデータをインポートするのに適した方法(そのページからアクセス可能)を試してみてください。
  • この機能に関するバグレポートや改善提案を上げたい場合は、 JIRA インポーター プラグイン プロジェクト内で行ってください。

On this page:

CSV ファイルの準備

JIRA インポータープラグインは、CSV ファイルがデフォルトの Microsoft Excel 形式の CSV ファイルに基づいているものと想定します。フィールドはコンマで区切られ、文字どおりに扱われる必要のあるコンテンツ (コンマや改行/「キャリッジリターン」そのもの) は、引用符で囲まれます。

(info) Microsoft Excel と OpenOffice の場合、セル内の値を引用符で囲む必要はありません。これらのアプリケーションでは、自動でこの処理が行われます。

CSV ファイルの要件

CSV ファイルには、"適切に構造化されている" ことに加えて次の要件があります。

各 CSV ファイルには、要約列を持つ見出し行が存在する必要がある

CSV ファイル インポート ウィザード(下記)は、 CSV ファイルの見出し行を使用して、CSV ファイルの 2 行目以降のデータを JIRA のフィールドにマッピングする方法を決定します。

見出し行には句読点を含まないようにします (各列を区切るコンマは除く)。これを行わない場合、インポーターが正しく機能しない可能性があります。

見出し行には "要約" データの列が含まれている必要があります。

列/フィールドのセパレーターとしてのコンマは省略不可

たとえば、以下は有効です。

Summary, Assignee, Reporter, Issue Type, Description, Priority
"Test issue", admin, admin, 1, ,

しかし、以下は無効です。

Summary, Assignee, Reporter, Issue Type, Description, Priority
"Test issue", admin, admin, 1

CSV ファイルで JIRA データ構造をカプセル化する

複数行にまたがるデータを取得する

Use double-quote marks (") in your CSV file to capture data that spans multiple lines. For example, upon import, JIRA will treat the following as a valid CSV file with a single record:

Summary, Description, Status
"Login fails", "This is on
a new line", Open

特殊文字を文字どおりに扱う

Use double-quote marks (") around a section of text to treat any special characters in that section literally. Once this data is imported into JIRA, these special characters will be stored as part of JIRA's field data. Examples of special characters include carriage returns/enter characters (as shown in the example above), commas, etc.

二重引用符を文字どおりに扱うようにするには、もう 1 つ二重引用符を追加して "エスケープ" します。したがって、CSV 値は次のようになります。

  • "Clicking the ""Add"" button results in a page not found error"
    once imported, will be stored in JIRA as:
  • Clicking the "Add" button results in a page not found error

複数の値を単一の JIRA フィールドに集約する

複数の値を受け入れる JIRA フィールド (修正対象バージョン影響バージョンコンポーネントラベルなど) には、複数の値をインポートできます。これを行うには、マッピングされる JIRA フィールドに集約する各値について、 CSV ファイルで同じ列名を指定する必要があります。指定される列名の数は、マッピングされるフィールドに集約される値の最大数と一致しなければなりません。例:

IssueType, Summary, FixVersion, FixVersion, FixVersion, Component, Component
bug, "First issue", v1, , , Component1,
bug, "Second issue", v2, , , Component1, Component2
bug, "Third issue", v1, v2, v3, Component1,

上記の例では、2 番目の課題のコンポーネントフィールドと 3 番目の課題の 修正対象バージョンフィールドは、インポート時に、該当する JIRA フィールドに複数の値を生成します。

(warning) 複数の値をサポートしている JIRA フィールドは限定されているので注意してください。CSV インポーターは、単一の値のみをサポートしている JIRA フィールドへの集約データのインポートを許可しません。

添付ファイルをインポートする

CSV ファイルから作成された課題にファイルを添付できます。これを行うには、CSV ファイル内の "Attachments" 列で、添付ファイルの URL を指定します。

Assignee, Summary, Description, Attachment, Comment
Admin, "Issue demonstrating the CSV attachment import", "Please check the attached image below.", "https://jira-server:8080/secure/attachment/image-name.png", "01/01/2012 10:10;Admin; This comment works"
Admin, "CSV attachment import with timestamp,author and filename", "Please check the attached image below.", "01/01/2012 13:10;Admin;image.png;file://image-name.png", "01/01/2012 10:10;Admin; This comment works"

(info) URLs for attachments support the HTTP and HTTPS protocols and can be any location that your JIRA server must be able to access. You can also use the FILE protocol to access files in the import/attachments subdirectory of your JIRA home directory.

サブタスクの作成

CSV ファイルで構造をカプセル化することにより、CSV ファイルのインポートを通して課題のサブタスクを作成できます。この操作を行うには、次の手順を実行します。

  • CSV ファイルには追加の列が 2 つ必要です。これらの列の見出しには、課題 ID親 ID に類似した名前を付けます。
  • それぞれの標準課題 (非サブタスク課題) の課題 ID 列に、固有の通し番号が付けられていることを確認します。標準課題の親 ID  フィールドには値を設定しないでください。
  • CSV ファイル内で標準課題のサブタスクを作成するには、標準課題に設定された固有の課題 ID 番号を、サブタスクの親 ID  列で参照します。サブタスクの課題 ID フィールドに値を設定しないでください。

例:

IssueType, Summary, FixVersion, FixVersion, FixVersion, Component, Component, Issue ID, Parent ID, Reporter
Bug, "First issue", v1, , , Component1, , 1, , jbloggs
Bug, "Second issue", v2, , , Component1, Component2, 2, , fferdinando
Bug, "Third issue", v1, v2, v3, Component1, , 3, , fferdinando
Sub-task, "Fourth issue", v1, v2, , Component2, , , 2, jbloggs

上記の例では、 4 番目の課題はインポート時に 2 番目の課題のサブタスクになります。この場合、ユーザーは CSV ファイル インポート ウィザード 実行時に、CSV ファイルの「課題 ID」および「親 ID」フィールドを、それぞれ JIRA フィールドの 課題 ID  および 親 ID  に一致させていると仮定しています。

複数の JIRA プロジェクトに課題をインポートする

CSV ファイルのインポートを通じて、課題を CSV ファイルから様々な JIRA プロジェクトにインポートできます。この操作を行うには:

  • CSV ファイルには他に2つの列が必要です。これらの列の見出しには、プロジェクト名プロジェクト キーに類似した名前を付けます。
  • CSV ファイル内のすべての課題で、インポート先の JIRA プロジェクト用に、これらの列に適切な名前とキーが含まれていることを確認します。
    (info)プロジェクト名およびキーのデータは、CSV ファイルから特定の JIRA プロジェクトに課題をインポートするために必要な最小の JIRA プロジェクト データです。
IssueType, Summary, Project Name, Project Key
bug, "First issue", Sample, SAMP
bug, "Second issue", Sample, SAMP
task, "Third issue", Example, EXAM

上記の例では、最初と 2 番目の課題は「Sample」プロジェクト(プロジェクト キーは「SAMP」)にインポートされ、3 番目の課題は「Example」プロジェクト(プロジェクト キーは「EXAM」)にインポートされます。この場合、ユーザーは CSV ファイルインポート ウィザードの実行時に、CSV ファイルの「プロジェクト名」および「プロジェクト キー」フィールドを、それぞれ JIRA フィールドの プロジェクト名 および プロジェクト キー に一致させていると仮定しています。

未解決の課題の処理方法

解決状況、優先度、課題タイプへのフィールド マッピングについては、JIRA で利用可能な値が入った選択リストが提供されます。また、緑色のプラス記号をクリックすれば、JIRA に存在しない値をすぐに作成できます。

ステータスへのフィールド マッピングについては、JIRA で利用可能な値が入った選択リストが提供されますが、新しいステータス値を作成するプラス記号は用意されていません。

これらの 4 つのフィールドについては、JIRA で使用可能な値のほかに、次の 2 つの特別なオプションが選択リストに用意されています。

  • 「空白としてインポート」 - これによって、そのフィールドの JIRA の値は空白になります。未解決の課題をインポートする場合、解決状況フィールドをマッピングするフィールドを作成し、「未解決」の値を「空白としてインポート」に設定する必要があるので注意してください。
  • 「マッピングなし」 - これは CSV ファイルの値をそのままインポートしようとするものです。フィールド値に「マッピングなし」を使用する場合、値がその JIRA フィールドで有効でないと、インポートが失敗するので注意してください。ステータスと課題タイプへのフィールド マッピングについては、「空白としてインポート」オプションを選択した場合、既定値が使用されます。

作業ログ エントリのインポート

CSV ファイルには作業ログ エントリを含めることができます。例:

Summary,Worklog
Only time spent (one hour),3600
With a date and an author,2012-02-10 12:30:10;wseliga;120
With an additional comment,Testing took me 3 days;2012-02-10 12:30:10;wseliga;259200

消費時間を追跡するには、秒単位を使用する必要があります。

複数選択カスタムフィールドへのインポート

CSV ファイルには、1 つの複数選択カスタムフィールドへの複数のエントリを含めることができます。例:

Summary,Multi Select,Multi Select,Multi Select
Sample issue,Value 1,Value 2,Value 3

これは、複数の値を持つ複数選択カスタムフィールドにデータを追加します。

カスケード選択カスタム フィールドへのインポート

次の構文を使用して、カスケード選択カスタム フィールドに値をインポートできます。

Summary, My Cascading Custom Field
Example Summary, Parent Value -> Child Value

"->" セパレーターを使用すると、 階層をインポートできます。

注意: 現在、JIRA では CSV を介したマルチレベルのカスケード選択フィールドのインポートをサポートしていません (JRA-34202 - 課題詳細を取得するステータス)。

既存の課題の更新

JIRA インポーター プラグインのバージョン 4.3 から、既存の課題の更新が可能となりました。インポート ウィザードの実行時に、課題キーにマッピングされる列を CSV ファイルに含める必要があります。所定のキーに対応する課題が存在する場合、その課題は更新されます。例:

issue key,summary,votes,labels,labels
TT-1,Original summary,1,label1,label2
TT-1,,7,label-1,label-2
TT-1,Changed summary,,,
TT-2,Original summary 2,1,label-1,label-2
TT-2,,<<!clear!>>,<<!clear!>>,

最初の行では課題を作成し、2 行目では投票を 7 に設定して、2 つのラベルを追加します。次の行では要約が変更されます。課題 TT- 2 は 2 つのラベルとともに作成され、2 行目は特殊なマーカー、 <<!clear!>> によって、これらのラベルを削除します。

(warning) CSV をインポートして既存の課題を更新する場合、CSV で指定されていない列の値はそれぞれの既存の値にリセットされます。

CSV ファイル インポート ウィザードを実行する

開始する前に、JIRA データをバックアップしてください。

  1. JIRA 管理者グローバル権限を持つユーザーとしてログインします。
  2. [管理] > [システム] > [インポートとエクスポート] > [外部システム インポート] を選択します。
  3. [CSV] を選択して [CSV ファイルのインポート] ページを開きます。
  4. [CSV ファイル インポート] ページで、CSV ソース ファイルを選択します。ファイルのエンコード方法と CSV 区切り形式を変更する場合は、詳細な見出しをクリックして (上のスクリーンショットに示すように) このオプションを表示します。
    (info) 注:
    • ファイルは、ここで指定したファイルのエンコード方法 (既定では UTF- 8) を使用してインポートされます。
    • CSV ファイルでコンマ以外の別の区切り文字を使用する場合、[CSV 区切り記号] フィールドでその文字を指定します。
  5. 設定ファイルがない場合や、新しい設定ファイルを作成する場合は、既存の設定ファイルの使用 チェックボックスにチェックを入れないままにします。設定ファイルは、CSV ファイルの見出し行の列名と JIRA インストールのフィールド間のマッピングを指定します。
    (info)  注意:
    • このオプションを選択すると、既存の設定ファイルを指定するかどうか尋ねられます。
    • このオプションを選択しない場合、CSV ファイル インポート ウィザード の最終段階で、今後の CSV インポート(CSV ファイル インポート ウィザードの本ステップ)で使用できる設定ファイルが作成されます。
  6. [次へ] ボタンを クリックして、 CSV ファイル インポート ウィザードの [プロジェクト マッピングの設定] ステップに進みます。
  7. プロジェクト マッピングの設定ページで、すべての課題を 1 つの JIRA プロジェクト(新規または既存)にインポートするか、または(CSV ファイルに必要な最小限の JIRA プロジェクト データ - すなわち、JIRA プロジェクト名とキーが含まれるようにして )複数の JIRA プロジェクトにインポートするか、いずれかの設定が可能です。次のフィールド/オプションを入力します。

    JIRA プロジェクトへのインポート

    以下のいずれかを選択します。

    • プロジェクトを選択し、次のいずれかの操作を行います。
      • JIRA にすでに存在するプロジェクトの名前(またはキー)を入力するか、ドロップダウンメニューを使用して、既存の JIRA プロジェクトを選択します。
      • ドロップダウンメニューから 新規作成 を選択し、表示される 新規プロジェクトの追加 ダイアログボックスで、次の項目を入力します。
        1. 新規プロジェクトの名前
        2. 新規プロジェクトのキー
          (info)これは JIRA プロジェクトのすべての課題 ID の接頭語として使用されます。
        3. プロジェクト リーダー
    • CSVで定義済み 。CSV ファイル内のすべての課題に JIRA プロジェクト名プロジェクト キー用のデータが含まれていることを確認します。
      (tick) CSV ファイルから複数の JIRA プロジェクトに課題をインポートする場合は、このオプションが便利です。詳細については、複数の JIRA プロジェクトへの課題のインポートを参照してください。
    新規ユーザー用のメール識別子CSV ファイルで指定され、インポート中に JIRA に追加される新規ユーザー用のメールアドレス ドメインを入力します。
    インポートファイルの日付形式CSV ファイルで使用する日付形式を指定します。Java SimpleDateFormat に準拠した構文を使用します。
  8. [次へ] ボタンをクリックして、 CSV ファイル インポート ウィザードの [フィールド マッピングの設定] ステップに進みます。

  9. フィールド マッピング設定ページで、左側のインポート列の 下にあるチェックボックスにチェックを入れ、選択した JIRA プロジェクトにインポートする各 CSV フィールド(CSV ファイルのヘッダー行によって決定) を指定します。
    (info)  注意:

    • 少なくとも、これらのフィールドのいずれかに JIRA のサマリ フィールドのデータが含まれている必要があります。

    • ヘッダー行で指定された同じ名前のフィールドが、CSV ファイルに複数含まれている場合、これらのフィールドは CSV ファイル インポート ウィザードによって単一のフィールドに集約にされます。ウィザードのこのステップでは、集約されたフィールドは記号 (warning) でマークされます。

  10. CSV ファイルで定義されたフィールド(すなわち、前のステップで選択した各 CSVフィールド)に一致させたい JIRA フィールドを JIRAフィールド列から選択します。CSV フィールドと JIRA フィールドのマッチングに関する詳細は、下記のCSV データを JIRA フィールドにインポートするためのヒント を参照してください。
    (info)  注意:

    • サマリ フィールドは、JIRA フィールドのいずれかを指定してマッピングする必要があります。これを行うまでは、次へ ボタンは使用不可のままとなります。

    • CSV ファイル インポート ウィザードによって集約された CSV フィールドに対しては、複数の値をサポートする JIRA フィールドしか選択できません。

    • サブタスクをインポートする場合、JIRA の課題 ID  フィールドと親ID  フィールドを CSV ファイルの対応するフィールドに一致させるのを忘れないようにします。
    • 複数のプロジェクトに課題をインポートする場合、上記のプロジェクトのマッピング設定ステップで CSV で定義済みを選択していることを確認し、JIRA のプロジェクト名フィールドとプロジェクト キー フィールドを CSV ファイルの対応するフィールドに一致させるのを忘れないようにします。
  11. CSV ファイルのフィールドのデータの値を、JIRA にインポートされる前に変更する場合、該当のフィールドの横にある、フィールドの値のマッピング チェックボックスにチェックを入れます。
  12. [次へ] ボタンをクリックして、CSV ファイル インポート ウィザードの [値マッピングの設定] ステップに進みます。
  13. 値マッピングの設定ページで、(CSV ファイル インポート ウィザードで検出された) 各 CSV ファイル フィールド値に対応する JIRA フィールド値を指定します。
    (info) 注意:
    • CSV ファイル インポート ウィザードの前のステップで [フィールド値のマッピング] チェックボックスにチェックをつけたフィールドがこのページに表示されます。
    • 値を現状のままインポートしたい場合は、フィールドを空欄のままにしておくか、フィールド内のコンテンツを消去します。

    • 該当のフィールドの横の新しい ... の追加(たとえば、上のスクリーンショットに示した新しい課題タイプ「サブタスク」の追加)リンクをクリックして、優先度解決状況課題タイプの新しい値(すなわち、CSV ファイルのデータに基づいた値)を JIRA で作成できます。

    • ユーザー名ベースの CSV フィールド(たとえば、報告者または 担当者)をインポートする際、CSV ファイルインポート ウィザードの前のステップで、フィールド値のマッピング チェックボックスにチェックを入れなかった場合、インポーターは、CSV ファイルからインポートされるユーザー名を JIRA ユーザー名に自動的に(小文字で)マッピングします。
      (info) フィールド値のマッピング チェックボックスにチェックを入れているかどうかにかかわらず、JIRA でユーザー名が定義済みでない場合、JIRA は CSV ファイルのデータに基づいてユーザー名を自動的に作成します 。  

  14. CSV データを JIRA にインポートする準備ができたら、インポート開始 ボタンをクリックします。インポーターは、インポートの進行に合わせて更新状況を示し、インポートが完了すると、正常完了したことを示すメッセージを表示します。
    (info) 注意:
    • インポートで問題が生じた場合、[詳細ログのダウンロード] リンクをクリックして、CSV ファイルのインポート処理に関する詳細情報を表示します。
    • この手順を通じて使用した設定と同じ (または類似の) 設定で別の CSV ファイルをインポートする必要がある場合は、[設定を保存] リンクをクリックして、CSV 設定ファイルをダウンロードします。この設定ファイルは、CSV ファイルインポート ウィザードの最初のステップで使用できます。

お疲れ様でした。CSV データが Jira に正常にインポートされました!ご不明な点や、問題が生じた場合は、Aアトラシアン サポートにご連絡ください。

CSV データを JIRA フィールドにインポートするためのヒント

データを CSV ファイルから特定の JIRA フィールドにインポートする場合に役立つヒントを以下に示します。

JIRA フィールド

インポート時の注意

プロジェクト

CSV データはプロジェクト単位でインポートされます。対象として既存の JIRA プロジェクトを指定できますが、指定しなくても、インポート時にインポーターが自動的に新規プロジェクトを作成します。

要約

これは唯一の必須フィールドです。

課題キーインポートされた課題の課題キーを設定できます。所定のキーを備えた課題がすでに存在する場合、その課題は代わりに更新されます。

コンポーネント

単独の列に各コンポーネントを入力することで、複数のコンポーネントを持つ課題をインポートできます。

影響バージョン

単独の列に各バージョンを入力することで、複数の「影響バージョン」を持つ課題をインポートできます。

修正バージョン

個別の列に各バージョンを入力することで、複数の "修正バージョン" を持つ課題をインポートできます。

コメント本文

単独の列に各コメントを入力することで、複数のコメントを持つ課題をインポートできます。

作成日

CSV インポート ウィザードの 2 番目の手順で指定した日付形式を使用してください。

更新日

CSV インポート ウィザードの 2 番目の手順で指定した日付形式を使用してください。

期日

CSV インポート ウィザードの 2 番目の手順で指定した日付形式を使用してください。

課題タイプ

CSV ファイルで指定されていない場合、インポートされた課題には、JIRA システムの課題タイプ フィールド値の定義で指定されているように、既定の(すなわち、1 番目の)課題タイプが設定されます。インポート処理中にオンザフライで新しい JIRA 値を作成することもできます。

ラベル

以下の方法で複数のラベルが付いた課題をインポートできます。

  • 各ラベルを別の列に入力する
  • すべてのラベルを 1 列に含め、スペースで区切る

Priority

CSV ファイルで優先度が指定されていない場合、インポートされた課題には、 JIRA システムの優先度フィールド値の定義で指定されているように、既定(1 番目)の優先度が設定されます。インポート処理中にオンザフライで新しい JIRA 値を作成することもできます。

ソリューション

CSV ファイルで解決状況が指定されていない場合、インポートされた課題には、 JIRA システムの解決状況フィールド値の定義で指定されているように、既定の(すなわち、1 番目)の解決状況が設定されます。インポート処理中にオンザフライで新しい JIRA 値を作成することもできます。

役立つヒントとして、未解決の課題を取り扱う方法も参照してください。

ステータス

JIRA の既存のワークフロー ステータスにのみマッピングできます。CSV ファイルでステータスが指定されていない場合、インポートされた課題には、 JIRA システムで指定されているように、既定(すなわち、1 番目)のステータスが設定されます。

初期見積り

このフィールドの値は、秒数で指定する必要があります。

残余見積り

このフィールドの値は、秒数で指定する必要があります。

消費時間

このフィールドの値は、秒数で指定する必要があります。

ユーザー

担当者または報告者フィールドの値として、インポーターに JIRA ユーザーを自動で作成させることも可能です。

  • ユーザーは、JIRA のアクティブなアカウントとして作成されます。ユーザーは JIRA への初回のログイン時にパスワードをメールで通知してもらう必要があります。
  • 実名でないユーザーは、メールアドレス (ログイン名) の "@" 文字の前の部分を JIRA でのフルネームとして取得します。
  • 外部ユーザー管理を使用している場合、インポートのプロセスで JIRA ユーザーを作成できません。代わりに、作成の必要がある新規ユーザーの一覧がインポーターによって提供されます。インポートを開始する前に外部のユーザー リポジトリでユーザーを作成する必要があります。
  • ユーザー数に制限のあるライセンス (例: パーソナル ライセンス) で、必要なユーザー数が制限を超える場合、インポートは停止されます。作成できないユーザーの一覧を示すページが表示されます。
  • 担当者および報告者がマッピングされない場合、ユーザー名は作成されません。
ウォッチャーウォッチャーに指定されたユーザーが CSV ファイルに含まれているが、JIRA には存在しない場合、このユーザーはインポートされません。特定の課題のウォッチャーとしてインポートする前に、ユーザーをJIRA で利用可能にしておく必要があります。

その他のフィールド

その他のフィールドをインポートする場合は、特定の JIRA カスタムフィールド へのマッピングを行うことができます。JIRA にカスタムフィールドがまだ存在していない場合、インポーターは自動的にカスタムフィールドを作成します。カスタムフィールが日付フィールドの場合、CSV インポーター ウィザードの 2 番目の手順で指定した日付形式を使用してください。

最終更新日: 2018 年 1 月 31 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.