We're updating our terminology in Jira

'Issue' is changing to 'work item'. You might notice some inconsistencies while this big change takes place.

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

The JSON import feature allows you to import work items from external project management tools that cannot be exported to CSV files. Please note that the import format used by the Jira Importers plugin is more basic than the import format available when using the Jira REST API.

大規模なプロジェクトをインポートする際は、データを分割してパフォーマンスの問題を軽減し、インポート速度を最適化することをおすすめします。

Recommended number of work items per file

1500 work items

インポートにかかる推定時間

約 1 時間 (これはデータと設定のサイズと複雑さによっても異なります)

インポート用 JSON ファイルの作成

If your current project management tool is unable to export in the JSON format, you may wish to create the file manually. To prepare the JSON file, you should use the standard JSON format, and follow the pattern detailed below.

// JSON File Example { "users": [ { "name": "abcde-12345-fedcba" }, { "name": "edcba-12345-abcdef" } ], "links": [ { "name": "sub-task-link", "sourceId": "2", "destinationId": "1" }, { "name": "Duplicate", "sourceId": "3", "destinationId": "2" } ], "projects": [ { "name": "A Sample Project", "key": "ASM", "description": "JSON file description", "versions": [ { "name": "1.0", "released": true, "releaseDate": "2012-08-31T15:59:02.161+0100" }, { "name": "2.0" } ], "components": [ "Component", "AnotherComponent" ], "work items": [ { "priority": "Major", "description": "Some nice description here\nMaybe _italics_ or *bold*?", "status": "Closed", "reporter": "abcde-12345-fedcba", "labels": [ "impossible", "to", "test" ], "watchers": [ "abcde-12345-fedcba" ], "workType": "Bug", "resolution": "Resolved", "created": "2012-08-31T17:59:02.161+0100", "updated": "2012-08-31T17:59:02.161+0100", "affectedVersions": [ "1.0" ], "summary": "My chore for today", "assignee": "abcde-12345-fedcba", "fixedVersions": [ "1.0", "2.0" ], "components": [ "Component", "AnotherComponent" ], "externalId": "1", "history": [ { "author": "abcde-12345-fedcba", "created": "2012-08-31T15:59:02.161+0100", "items": [ { "fieldType": "jira", "field": "status", "from": "1", "fromString": "Open", "to": "5", "toString": "Resolved" } ] } ], "customFieldValues": [ { "fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "15" }, { "fieldName": "Business Value", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "34" } ], "attachments": [ { "name": "battarang.jpg", "attacher": "bob@example.com", "created": "2012-08-31T17:59:02.161+0100", "uri": "http://optimus-prime/~batman/images/battarang.jpg", "description": "This is optimus prime" } ] }, { "status": "Open", "reporter": "abcde-12345-fedcba", "workType": "Sub-task", "created": "P-3D", "updated": "P-1D", "summary": "Sub-task", "externalId": "2" }, { "status": "Closed", "reporter": "abcde-12345-fedcba", "workType": "Sub-task", "created": "P-3D", "updated": "P-1D", "resolution": "Duplicate", "summary": "Duplicate Sub-task", "externalId": "3" } ] } ] }

To specify a fix version for an imported work items, make sure you include the fixVersions in the work item object and versions in the projects object, and shown is the example above.

カスタム フィールド

JSON Importers プラグインではカスタムフィールドがサポートされています。次に、JIRA で用意されているカスタムフィールドの一覧を示します。 カスタムフィールドのがある追加のプラグインをインストールしている場合はそれらのフィールドもサポートされますが、この一覧には含まれていません。

  • com.atlassian.jira.plugin.system.customfieldtypes:textfield

  • com.atlassian.jira.plugin.system.customfieldtypes:textarea

  • com.atlassian.jira.plugin.system.customfieldtypes:datepicker

  • com.atlassian.jira.plugin.system.customfieldtypes:datetime

  • com.atlassian.jira.plugin.system.customfieldtypes:float

  • com.atlassian.jira.plugin.system.customfieldtypes:select

  • com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons

  • com.atlassian.jira.plugin.system.customfieldtypes:project

  • com.atlassian.jira.plugin.system.customfieldtypes:multiversion

  • com.atlassian.jira.plugin.system.customfieldtypes:version

  • com.atlassian.jira.plugin.system.customfieldtypes:userpicker

  • com.atlassian.jira.plugin.system.customfieldtypes:url

  • com.atlassian.jira.plugin.system.customfieldtypes:multiselect

  • com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes

  • com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker

  • com.atlassian.jira.plugin.system.customfieldtypes:multigrouppicker

  • com.atlassian.jira.plugin.system.customfieldtypes:grouppicker

  • com.atlassian.jira.plugin.system.customfieldtypes:cascadingselect

  • com.atlassian.jira.plugin.system.customfieldtypes:readonlyfield

  • com.atlassian.jira.plugin.system.customfieldtypes:labels

  • com.pyxis.greenhopper.jira:gh-sprint

The custom field example below shows some syntax for adding custom fields, including an example of a cascading custom field. If the custom field is not listed above, the "fieldType" can be obtained from the Custom Fields configuration page, by inspecting the source HTML. The "value" is specific to each custom field, and you can find this by inspecting the Edit Work item page's source HTML.

Custom field example "customFieldValues": [ //Custom fields which accept single values: { "fieldName": "My Awesome Text Field (single line)", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "some text" }, { "fieldName": "My Awesome Select List (single choice)", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "some select" }, //Custom fields which accept multiple values: { "fieldName": "My Awesome Checkboxes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": [ "multiple", "checkboxes" ] }, { "fieldName": "My Awesome User Picker (multiple users)", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": [ "admin", "fred" ] }, //Custom fields which accepts options in hierarchy (cascading select fields): { "fieldName": "My Awesome Select List (cascading)", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:cascadingselect", "value": { "": "Parent Value", "1": "Child Value" } } ]

JSON ファイルの具体例

次に、JSON ファイルの具体例を示します。

ユーザー

この例ではフルユーザーに対応し、、2つのグループが指定されています。グループが存在しない場合、Jira Importers プラグインによって作成されます。

User example "users": [  { "name" : "abcde-12345-fedcba", "groups" : [ "jira-users", "my-custom-group" ], "active" : true, "email" : "user1@example.com", "fullname" : "User 1" } ]

Project key and work item key

You can assign a key to both the project and the work item. These keys can be different. This example will create a project with one work item, "SAM-123".

Project key and work item key example { "projects": [ { "name": "Sample data", "key": "SAM", "work items": [ { "key" : "SAM-123", "status" : "Open", "reporter" : "abcde-12345-fedcba", "summary" : "Parent case", "externalId": "123" } ] } ] }

コメント

This example shows how you can import multiple comments for a work item.

Comment example { "projects": [ { "name": "Sample data", "key": "SAM", "work items": [ { "status" : "Open", "reporter" : "abcde-12345-fedcba", "summary" : "Parent case", "externalId": "1", "comments": [ { "body": "This is a comment from admin 5 days ago", "author": "abcde-12345-fedcba", "created": "2012-08-31T17:59:02.161+0100" }, { "body": "This is a comment from admin 1 day ago", "author": "abcde-12345-fedcba", "created": "2012-08-31T17:59:02.161+0100" } ] } ] } ] }

この例は、Jira Service Management 製品専用の公開コメントの表示設定をインポートする方法を示しています。

"comments": [ { "body": "This public comment", "author": "557057:1a8aeee5-40e9-413a-9f4e-2f074f09644a", "created": "2012-08-31T17:59:02.161+0100", "updated": "2012-08-31T17:59:02.161+0100", "properties":[{"key":"sd.public.comment","value":{"internal":"false"}}] } ]

この例は、Jira Service Management 製品専用の非公開コメントの表示設定をインポートする方法を示しています。

"comments": [ { "body": "This private comment", "author": "557057:1a8aeee5-40e9-413a-9f4e-2f074f09644a", "created": "2012-08-31T17:59:02.161+0100", "updated": "2012-08-31T17:59:02.161+0100", "properties":[{"key":"sd.public.comment","value":{"internal":"true"}}] } ]

作業ログ

この例では、作業ログの詳細をインポートするための構文を示しています。

Worklog example "worklogs": [ { "author": "abcde-12345-fedcba", "comment": "Worklog", "startDate": "2012-08-31T17:59:02.161+0100", "timeSpent": "PT1M" }, { "author": "abcde-12345-fedcba", "startDate": "2012-08-31T17:59:02.161+0100", "timeSpent": "PT3H" } ]

Component

JSON ファイルでコンポーネントを指定する方法は2通りあります。名前を指定する方法とオブジェクトを指定する方法です。この例では両方を示しています。Jira Importers プラグインでは、常に「既定の担当者」が「プロジェクトの既定」に設定された新規コンポーネントが作成されます。ユーザーは「既定の担当者」を指定できないからです。

Component example "components": [ "Component", //Component specified only by name { // Component specified by object "name": "edcba-12345-abcdef", "lead": "abcde-12345-fedcba", "description": "Some description" } ]

タイム トラッキング

Time Tracking detail can be imported with a work item. This example shows you a work item with Time Tracking detail. The "originalEstimate", "timeSpent", and "estimate" values must be in Period format (Format ISO_8601 - Durations). The "startDate" value accepts both the DateTime and Period format.

インポートを開始する前に、Jira でタイムトラッキングが有効になっていることを確認してください。有効になっていない場合、インポート中に Jira Importers プラグインでデータが無視されます。

Work items with time tracking "Work items": [ { "summary" : "My Example Time Tracking work item", "externalId": "1", "originalEstimate": "P1W3D", "timeSpent": "PT4H", "estimate": "P2D", "worklogs": [ { "author": "abcde-12345-fedcba", "comment": "Worklog", "startDate": "P-1D", //can be a Period or DateTime "timeSpent": "PT1M" }, { "author": "abcde-12345-fedcba", "startDate": "2014-01-14T17:00:00.000+0100", "timeSpent": "PT3H" } ] } ]

Sprint

この例では、"New Sprint" という名前の新規スプリントが JSON ファイルから直接作成され、rapidViewId = 30 としてボードに追加されます。スプリントがクローズされている場合、state パラメーターにそのデータを含めます (任意)。スプリントの状態には以下のいずれかを使用できます。

• 「FUTURE」(既定値)
• 「ACTIVE」
• 「CLOSED」

アクティブなスプリントやクローズされたスプリントをインポートする際は、開始時刻と完了予定時刻を表す、開始日と終了日を指定する必要があります。クローズされたスプリントについては、完了日も指定する必要があります。

 

Sprint { "projects": [ { "name": "Project", "key": "KEY", "work items": [ { "externalId": "51", "priority" : "High", "description" : "Test JSON import", "status" : "TO DO", "reporter" : "abcde-12345-fedcba", "workType" : "Bug", "summary" : "Test JSON import", "customFieldValues": [ { "fieldName": "Sprint", "fieldType": "com.pyxis.greenhopper.jira:gh-sprint", "value": [ { "rapidViewId": 30, "state": CLOSED", "startDate": "2018-01-01", "endDate": "2018-01-01", "completeDate": "2018-01-01", "name": "New Sprint" } ] } ] } ] } ] }

日付の表現には、SimpleDateFormat "yyyy-MM-dd'T'HH:mm:ss.SSSZ" (出力例:  "2012-08-31T15:59:02.161+0100")、または "P-1D" (1 日前) などの相対日付を使用できます。

JSON File Import Wizard の実行

  1. > [システム] の順に選択します。

  2. [外部システム インポート] > [JSON] の順に選択します。

    1. JSON オプションが表示されない場合は、新しいインポート エクスペリエンスを使用している可能性があります。JSON ファイル インポート ウィザードを使用するには、[旧エクスペリエンスに切り替える ] を選択します。

  3. JSON ファイルを選択し、インポートの開始をクリックします。

JSON ファイルがコメント付きの Jira Service Management プロジェクトで構成されている場合は、JSON インポート後にインポート ファイルのすべてのコメントが公開されます。

インポートで問題が生じた (または関心がある) 場合は、詳細なログをダウンロードするように選択して、JSON ファイルのインポート プロセスに関する詳細を表示できます。

さらにヘルプが必要ですか?

アトラシアン コミュニティをご利用ください。