JSON インポート

このページの内容

お困りですか?

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

コミュニティに質問

このインポート タイプでは、JSON ファイルを使用してアセットにオブジェクトがインポートされます。インポートの詳細をご確認ください。

インポートを作成、設定、有効化するには、ユーザーがオブジェクト スキーマのアセット マネージャーである必要があります。

次のセクションにジャンプ:

はじめる前に

JSON ファイルをインポートするには、以下のことについても把握しておく必要があります。

  • アセットにインポートする JSON ファイルは、JSON 標準に従っている必要があります。

  • JSON ファイルのサイズの上限は 10 MB です。

さらに、セレクターを使用しても、使用しなくてもオブジェクト タイプ マッピングを作成できますが、これは JSON ファイルの構造によって異なります。セレクターを使用する場合は、[Attribute.*[Attribute] という形式にする必要があります。

セレクターを使用してオブジェクト タイプ マッピングを作成する

オブジェクト タイプが 2 つ以上ある場合は、セレクターを使用する必要があります。

この例で使用されているオブジェクト タイプは、LocationServer の 2 つです。Location という属性もあり、そのタイプは Object で、Location オブジェクト タイプへのアウトバウンド参照を行います。

{
        "Location": [
            {
                "Name": "Amsterdam"
            },
            {
                "Name": "London"
            },
            {
                "Name": "Madrid"
            }
        ],
        "Servers": [
            {
                "Location": "Amsterdam",
                "Name": "Server1"
            },
            {
                "Location": "London",
                "Name": "Server2"
            },
            {
                "Location": "London",
                "Name": "Server3"
            }
        ]
    }


セレクターを使用せずにオブジェクト タイプ マッピングを作成する

オブジェクト タイプが 1 つしかない場合は、セレクターを使用しなくても構いません。

この例では members という属性が使用されており、そのタイプは Object で、オブジェクト自体への参照を行います。

[
    {
        "members": [],
        "name": "group1"
    },
    {
        "members": [],
        "name": "group2"
    },
    {
        "members": [
            "group2"
        ],
        "name": "group3"
    }
]


JSON ファイルのインポート

テスト目的で、次の JSON ファイルのサンプルを使用できます。このファイルを使用すると、マッピングを含む 3 つのオブジェクト タイプを作成し、オブジェクト参照を行うことができますこのファイルには、生地やトッピングなど、ケーキに関する情報が含まれています。

{
	"id": "0001",
	"type": "donut",
	"name": "Cake",
	"ppu": 0.55,
	"batters":
		{
			"batter":
				[
					{ "id": "1001", "type": "Regular" },
					{ "id": "1002", "type": "Chocolate" },
					{ "id": "1003", "type": "Blueberry" },
					{ "id": "1004", "type": "Devil's Food" }
				]
		},
	"topping":
		[
			{ "id": "5001", "type": "None" },
			{ "id": "5002", "type": "Glazed" },
			{ "id": "5005", "type": "Sugar" },
			{ "id": "5007", "type": "Powdered Sugar" },
			{ "id": "5006", "type": "Chocolate with Sprinkles" },
			{ "id": "5003", "type": "Chocolate" },
			{ "id": "5004", "type": "Maple" }
		]
}

「Name」属性をラベルとして選択すると、「Blueberry」、「Chocolate」、「Devil’s Food」、「Mail Server」の 4 つのオブジェクトが作成されます。その結果、次のような構成になります。

インポートされた JSON ファイルの設定例

インポート構造を作成するには、次の手順に従います。
  1. サービス プロジェクトから、[アセット] > [オブジェクト スキーマ] の順に移動します。

  2. [オブジェクト スキーマ] リストから [ その他のアクション] > [構成] の順に選択します。
    オブジェクト スキーマ ウィンドウを構成する

  3. スキーマ構成ビューで [インポート] タブを開きます。

  4. [インポート] タブで、次の手順に従います。

    • インポート構造がない場合は、「インポート接続はまだありません」というメッセージが表示されます。新しいインポート構造を作成するには、[インポート設定を作成] を選択します。

    • インポート構造が作成済みである場合は、[設定を作成] を選択します。
      インポート構成ウィンドウを作成する

  5. [CSV インポート] > [次へ] の順に選択します。

  6. [一般]、[モジュール]、[スケジュール] の各インポート フィールドに入力します。
    インポート構成の一般的なフィールド

一般フィールド

次は、すべてのインポート タイプに共通する一般的なフィールドです。

名前

説明

名前インポートの名前。
説明 参考用の説明。
連結子

既定の連結子を指定できます。複数のデータ ロケーターを結合して 1 つのアセット属性を作成すると、これが既定の連結子となります。たとえば、"姓" と "名" のような 2 つの列を 1 つの属性に結合できます。つまり、"Mathias" (名) と "Edblom" (姓) は、連結子である \s によって "Mathias Edblom" として連結されます。

スペースの連結には \s を入力します。連結文字を含めるには、その値を二重引用符で囲みます ("\s")。

空の値

データ ロケーターが空である場合の処理は、次のように定義されます。

  • 無視 - オブジェクト内の既存の値は保持され、空の値で上書きされません。

  • 削除 - オブジェクトの既存の値が削除され、空のフィールド値に置き換えられます。

データ ロケーターが不明である場合の処理を定義しましょう。これは、"ステータス" や "選択" などの属性タイプで発生する可能性があります。 

  • 無視 - CSV の値は無視され、オブジェクト属性は空のままになります。

  • 追加 - CSV ファイルで渡された値がリストに追加され、オブジェクト属性が新しい値で更新されます。

インポート ソースの日付フィールドを Insight の日付に変換する際の形式。空のままにすると、Insight で正しい形式が自動で検索されます。
この形式は、Java の SimpleDateFormat のガイドラインに従って指定する必要があります。

インポート ソースの日付/時刻フィールドを Insight の日付に変換する際の形式。空のままにすると、Assets で正しい形式が自動で検索されます。
この形式は、Java の SimpleDateFormat のガイドラインに従って指定する必要があります。

モジュール フィールド

これらのフィールドはインポート タイプ (モジュール) に固有です。

設定

説明

インポート元ファイルまたは URL を選択します。
  • URL

外部 JSON ファイルを検索する場所のプロトコル、ホスト名、ポート。例: http(s)://example.com/rest/api/service 

  • ファイル

アップロードするファイルを選択します。

ユーザ名

基本認証のオプション ユーザー名。

パスワード

基本認証で使用するオプションのパスワード。

エンコードファイルで使用されているエンコーディング。

スケジュール フィールド

スケジュール フィールドは、データの同期を維持するために使用されます。

名前説明
同期アカウント

データをアセットに同期する際に使用する Jira ユーザー。

LDAP およびデータベースのインポートでは、同期に使用するアカウントに Jira 管理者権限が必要です。

cron 式The interval for the automatic synchronization. Explore cron expressions
自動同期インポートを自動で同期するようにスケジュールするかどうか。

7. [インポート設定を保存] を選択します。

次に、JSON ファイル用の定義済みの構造と設定を作成できます。

事前定義済みの構造と設定

次のステップでは、定義済みの構造と構成を手動で作成することも、アセットで自動的に作成することもできます。このプロセスを自動化するには、以下を選択してください。
  • 定義済みの構造を作成する – これにより、スキーマに属性と関係を持つオブジェクト タイプが作成されます。

  • 定義済みの構成を作成する – これにより、インポート構成にタイプ マッピングが作成されます。

定義済みの構造と構成を作成する

JSON のインポートの場合、定義済みの構造と設定は、設定に存在する JSON ファイルまたは URL に基づいて作成されます。初期設定では、一部のオブジェクト タイプ マッピングが無効になっている可能性があります。すべてのオブジェクト タイプ マッピングが有効になっていることを確認してください。


作成されたインポート設定

これでインポート設定を表示できるようになりましたが、まだ準備が完了していません。引き続き、オブジェクト タイプと属性のマッピングを作成または確認して、インポート設定に問題がないことを確実にする必要があります。

準備できたら「2. オブジェクト タイプと属性マッピングを作成する」に進みます。

最後に一言

次のステップでは、オブジェクト タイプと属性マッピングを作成します。JSON インポート タイプに固有の設定をいくつか紹介します。

オブジェクト タイプ マッピングの設定

名前

説明

セレクター

JSON インポートのセレクター。 

[Attribute.*[Attribute]] を使用する

例:

  • 「items」
  • "items.item"
  • "json.data.systems"

JSON 配列のみがセレクターとして有効です。

属性マッピングの設定

名前

説明

attribute1[*].attribite2[*]..

指定されるデータ ロケーターは、JSON と設定されているセレクターによって異なります。

既知の制限事項

Currently, the JSON import doesn’t support the use of OAuth tokens or API tokens for authentication when importing the JSON file using a URL. Only basic authentication is supported. As a workaround, you can save the JSON file on Jira's host and import the file again. This method can be used to bypass authentication issues, but it doesn’t support automatic, scheduled imports directly from external sources.

To automate schedule imports directly from external sources, you can save new JSON output with the same filename and archive older versions with a date and timestamp. This allows the use of scheduled file upload imports, but requires careful file management to ensure the correct file is imported each time.

最終更新日: 2024 年 12 月 30 日

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

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