CSVからのデータのインポート
JIRA にバンドルされている JIRA インポーター プラグインを使用すれば、カンマ区切り形式(CSV)ファイルからデータをインポートできます。CSV ファイルは、表形式データを表すテキストファイルで、表形式データを処理する、ほとんどのアプリケーション(たとえば、Microsoft Excel、データベース等)でサポートされています。
CSV インポート機能により、次のような外部(課題トラッキング)システムから課題をインポートできます。
- JIRAは専用のインポートツールを提供していません、そして
- 構造化/表形式(できれば、CSV 形式)でデータをエクスポートできる外部システム。
Our main website highlights some top reasons why people migrate from such an external issue tracking system to JIRA.
CSV インポート プロセスの手順
- CSV ファイルの準備 (後述)。
- CSV ファイル インポート ウィザードの実行 (後述)。
- インポート プロセスで個々のフィールドやフィールド値のマッピングを選択できます。
- CSV インポート ウィザードの最後の段階で、CSV 設定ファイルを作成するオプションが表示され、そのファイルには CSV インポート ウィザードを実行する過程で設定した内容が含まれています。 これは、本番システムでインポートを実行する前に、テスト用 JIRA サーバーで CSV ファイルのインポートをテストする必要がある場合に役に立ちます。
注意:
- 他の課題トラッキング システムから JIRA にデータをインポートするには、いくつかの方法が利用可能です。他の課題トラッキング システムによっては、こうした他の方法のいずれかを使用する方が、始めにそのシステムから CSV ファイルにデータをエクスポートし、次いで CSV ファイルを JIRA にインポートするやり方より適切な場合があります。使用中の他の課題トラッキング システムが他の課題トラッカーからの移行ページの一覧に含まれている場合、その課題トラッカーから JIRA にデータをインポートするのに適した方法(そのページからアクセス可能)を試してみてください。
- この機能に関するバグレポートや改善提案を上げたい場合は、 JIRA インポーター プラグイン プロジェクト内で行ってください。
CSV ファイルの準備
JIRA インポータープラグインは、CSV ファイルがデフォルトの Microsoft Excel 形式の CSV ファイルに基づいているものと想定します。フィールドはコンマで区切られ、文字どおりに扱われる必要のあるコンテンツ (コンマや改行/「キャリッジリターン」そのもの) は、引用符で囲まれます。
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 フィールドに複数の値を生成します。
複数の値をサポートしている 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"
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つの列が必要です。これらの列の見出しには、プロジェクト名やプロジェクト キーに類似した名前を付けます。
- Ensure that every issue represented in your CSV file contains the appropriate name and key in these columns for the JIRA projects to which they will be imported.
The project name and key data is the minimum JIRA project data required for importing issues from a CSV file into specific JIRA projects.
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
"->" セパレーターを使用すると、 階層をインポートできます。
NOTE: Currently JIRA does not support importing multi-level cascading select fields via CSV (
JRASERVER-34202
-
Allow CSV import to support Multi-Level Cascading Select plugin fields
Gathering Interest
).
既存の課題の更新
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!>> によって、これらのラベルを削除します。
Importing a CSV to update existing issues will reset columns to their default values if they are not specified in the CSV.
CSV ファイル インポート ウィザードを実行する
開始する前に、JIRA データをバックアップしてください。
- JIRA 管理者グローバル権限を持つユーザーとしてログインします。
- [管理] > [システム] > [インポートとエクスポート] > [外部システム インポート] を選択します。
- [CSV] を選択して [CSV ファイルのインポート] ページを開きます。
- On the CSV File import page, select your CSV Source File. If you want to change the file's encoding and CSV delimiter format, click the Advanced heading to reveal this option (as shown in the above screenshot).
Note:
- ファイルは、ここで指定したファイルのエンコード方法 (既定では UTF- 8) を使用してインポートされます。
- CSV ファイルでコンマ以外の別の区切り文字を使用する場合、[CSV 区切り記号] フィールドでその文字を指定します。
- Leave the Use an existing configuration file checkbox cleared if you do not have a configuration file or if you want to create a new configuration file. Configuration files specify a mapping between column names in your CSV file's header row and fields in your JIRA installation.
Note:
- このオプションを選択すると、既存の設定ファイルを指定するかどうか尋ねられます。
- このオプションを選択しない場合、CSV ファイル インポート ウィザード の最終段階で、今後の CSV インポート(CSV ファイル インポート ウィザードの本ステップ)で使用できる設定ファイルが作成されます。
- [次へ] ボタンを クリックして、 CSV ファイル インポート ウィザードの [プロジェクト マッピングの設定] ステップに進みます。
プロジェクト マッピングの設定ページで、すべての課題を 1 つの JIRA プロジェクト(新規または既存)にインポートするか、または(CSV ファイルに必要な最小限の JIRA プロジェクト データ - すなわち、JIRA プロジェクト名とキーが含まれるようにして )複数の JIRA プロジェクトにインポートするか、いずれかの設定が可能です。次のフィールド/オプションを入力します。
JIRA プロジェクトへのインポート 以下のいずれかを選択します。
- プロジェクトを選択し、次のいずれかの操作を行います。
- JIRA にすでに存在するプロジェクトの名前(またはキー)を入力するか、ドロップダウンメニューを使用して、既存の JIRA プロジェクトを選択します。
- ドロップダウンメニューから 新規作成 を選択し、表示される 新規プロジェクトの追加 ダイアログボックスで、次の項目を入力します。
- 新規プロジェクトの名前
- A new project Key
This will be used as the prefix for all issue IDs in your JIRA project.
- プロジェクト リーダー。
- Defined in CSV. Ensure that every issue in your CSV file includes data for the JIRA Project Name and Project Key.
This option is useful if you want to import issues from your CSV file into multiple JIRA projects. See Importing issues into multiple JIRA projects for details.
新規ユーザー用のメール識別子 CSV ファイルで指定され、インポート中に JIRA に追加される新規ユーザー用のメールアドレス ドメインを入力します。 インポートファイルの日付形式 CSV ファイルで使用する日付形式を指定します。Java SimpleDateFormat に準拠した構文を使用します。 - プロジェクトを選択し、次のいずれかの操作を行います。
[次へ] ボタンをクリックして、 CSV ファイル インポート ウィザードの [フィールド マッピングの設定] ステップに進みます。
On the Setup field mappings page, specify each CSV Field (determined by your CSV file's header row) you want to import into your chosen JIRA project by selecting their checkboxes under the Import column on the left.
Please note:
少なくとも、これらのフィールドのいずれかに JIRA のサマリ フィールドのデータが含まれている必要があります。
If your CSV file contains more than one of the same field name specified in its header row, the CSV file import wizard will aggregate these into a single field, which will be marked by a
symbol at this step of the wizard.
In the JIRA field column, select the JIRA fields you want to match to fields defined in your CSV file (i.e. each CSV Field you selected in the previous step). For more information about matching CSV fields to JIRA fields, see Tips for importing CSV data into JIRA fields below.
Please note:
サマリ フィールドは、JIRA フィールドのいずれかを指定してマッピングする必要があります。これを行うまでは、次へ ボタンは使用不可のままとなります。
CSV ファイル インポート ウィザードによって集約された CSV フィールドに対しては、複数の値をサポートする JIRA フィールドしか選択できません。
- サブタスクをインポートする場合、JIRA の課題 ID フィールドと親ID フィールドを CSV ファイルの対応するフィールドに一致させるのを忘れないようにします。
- 複数のプロジェクトに課題をインポートする場合、上記のプロジェクトのマッピング設定ステップで CSV で定義済みを選択していることを確認し、JIRA のプロジェクト名フィールドとプロジェクト キー フィールドを CSV ファイルの対応するフィールドに一致させるのを忘れないようにします。
- CSV ファイルのフィールドのデータの値を、JIRA にインポートされる前に変更する場合、該当のフィールドの横にある、フィールドの値のマッピング チェックボックスにチェックを入れます。
- [次へ] ボタンをクリックして、CSV ファイル インポート ウィザードの [値マッピングの設定] ステップに進みます。
- On the Setup value mappings page, specify the JIRA field values for each CSV file field value (which has been detected by the CSV file import wizard).
Please note:
- CSV ファイル インポート ウィザードの前のステップで [フィールド値のマッピング] チェックボックスにチェックをつけたフィールドがこのページに表示されます。
値を現状のままインポートしたい場合は、フィールドを空欄のままにしておくか、フィールド内のコンテンツを消去します。
該当のフィールドの横の新しい ... の追加(たとえば、上のスクリーンショットに示した新しい課題タイプ「サブタスク」の追加)リンクをクリックして、優先度 、 解決状況、課題タイプの新しい値(すなわち、CSV ファイルのデータに基づいた値)を JIRA で作成できます。
If you are importing a username-based CSV field (e.g. Reporter or Assignee) and you do not select the Map field value checkbox for this field in the previous step of the CSV file import wizard, then the importer will automatically map imported usernames from the CSV file to (lowercase) JIRA usernames.
Regardless of whether or not you select the Map field value checkbox, JIRA will automatically create usernames based on the data in your CSV file if they have not already been defined in JIRA.
- Click the Begin Import button when you are ready to begin importing your CSV data into JIRA. The importer will display updates as the import progresses, then a success message when the import is complete.
Note:
- インポートで問題が生じた場合、[詳細ログのダウンロード] リンクをクリックして、CSV ファイルのインポート処理に関する詳細情報を表示します。
- この手順を通じて使用した設定と同じ (または類似の) 設定で別の CSV ファイルをインポートする必要がある場合は、[設定を保存] リンクをクリックして、CSV 設定ファイルをダウンロードします。この設定ファイルは、CSV ファイルインポート ウィザードの最初のステップで使用できます。
お疲れ様でした。CSV データが Jira に正常にインポートされました!ご不明な点や、問題が生じた場合は、Aアトラシアン サポートにご連絡ください。
CSV データを JIRA フィールドにインポートするためのヒント
データを CSV ファイルから特定の JIRA フィールドにインポートする場合に役立つヒントを以下に示します。
JIRA フィールド | インポート時の注意 |
---|---|
プロジェクト | CSV データはプロジェクト単位でインポートされます。対象として既存の JIRA プロジェクトを指定できますが、指定しなくても、インポート時にインポーターが自動的に新規プロジェクトを作成します。 |
要約 | これは唯一の必須フィールドです。 |
課題キー | インポートされた課題の課題キーを設定できます。所定のキーを備えた課題がすでに存在する場合、その課題は代わりに更新されます。 |
コンポーネント | 単独の列に各コンポーネントを入力することで、複数のコンポーネントを持つ課題をインポートできます。 |
影響バージョン | 単独の列に各バージョンを入力することで、複数の「影響バージョン」を持つ課題をインポートできます。 |
修正バージョン | 個別の列に各バージョンを入力することで、複数の "修正バージョン" を持つ課題をインポートできます。 |
コメント本文 | 単独の列に各コメントを入力することで、複数のコメントを持つ課題をインポートできます。 |
作成日 | CSV インポート ウィザードの 2 番目の手順で指定した日付形式を使用してください。 |
更新日 | CSV インポート ウィザードの 2 番目の手順で指定した日付形式を使用してください。 |
期日 | CSV インポート ウィザードの 2 番目の手順で指定した日付形式を使用してください。 |
課題タイプ | CSV ファイルで指定されていない場合、インポートされた課題には、JIRA システムの課題タイプ フィールド値の定義で指定されているように、既定の(すなわち、1 番目の)課題タイプが設定されます。インポート処理中にオンザフライで新しい JIRA 値を作成することもできます。 |
ラベル | 以下の方法で複数のラベルが付いた課題をインポートできます。
|
Priority | CSV ファイルで優先度が指定されていない場合、インポートされた課題には、 JIRA システムの優先度フィールド値の定義で指定されているように、既定(1 番目)の優先度が設定されます。インポート処理中にオンザフライで新しい JIRA 値を作成することもできます。 |
ソリューション | CSV ファイルで解決状況が指定されていない場合、インポートされた課題には、 JIRA システムの解決状況フィールド値の定義で指定されているように、既定の(すなわち、1 番目)の解決状況が設定されます。インポート処理中にオンザフライで新しい JIRA 値を作成することもできます。 役立つヒントとして、未解決の課題を取り扱う方法も参照してください。 |
ステータス | JIRA の既存のワークフロー ステータスにのみマッピングできます。CSV ファイルでステータスが指定されていない場合、インポートされた課題には、 JIRA システムで指定されているように、既定(すなわち、1 番目)のステータスが設定されます。 |
初期見積り | このフィールドの値は、秒数で指定する必要があります。 |
残余見積り | このフィールドの値は、秒数で指定する必要があります。 |
消費時間 | このフィールドの値は、秒数で指定する必要があります。 |
ユーザー | 担当者または報告者フィールドの値として、インポーターに JIRA ユーザーを自動で作成させることも可能です。
|
ウォッチャー | ウォッチャーに指定されたユーザーが CSV ファイルに含まれているが、JIRA には存在しない場合、このユーザーはインポートされません。特定の課題のウォッチャーとしてインポートする前に、ユーザーをJIRA で利用可能にしておく必要があります。 |
その他のフィールド | その他のフィールドをインポートする場合は、特定の JIRA カスタムフィールド へのマッピングを行うことができます。JIRA にカスタムフィールドがまだ存在していない場合、インポーターは自動的にカスタムフィールドを作成します。カスタムフィールが日付フィールドの場合、CSV インポーター ウィザードの 2 番目の手順で指定した日付形式を使用してください。 |