独自のインポート タイプの作成

このページの内容

お困りですか?

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

コミュニティに質問

From Insight 5.0 the new improved import functionality was released. This functionality includes the possibility to write your own custom import module for Assets. The idea is to create a module that structures external data in a two dimensional way and enabling that data to Assets. This page will illustrate how you can achieve your own custom Assets import module. 

独自のインポート モジュールを作成する前に、インポートの概念を理解するをお読みください。

責務

First things first, responsibilities. Assets is responsible for creating, validating and mapping the data in Assets, render the configuration and supply the user with configuration possibilities. The import module is responsible for extracting the external data, structure it in a two dimensional way, declare the needed configuration parts and validate the same configuration. 

新しい Jira アプリの作成

First you need to create a new JIRA add-on to use when building your Assets Import Type (module). You can read about how to create a new add-on here: https://developer.atlassian.com/docs/getting-started/set-up-the-atlassian-plugin-sdk-and-build-a-project

Maven 依存関係

You need to install Assets locally into your mvn repository. Download the jar (within the obr) from Atlassian marketplace. Read more about how to do that here: https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html

これを pom.xml に追加します。

<dependency>
  <groupId>com.riadalabs.jira.plugins</groupId>
  <artifactId>insight</artifactId>
  <version>${insight.version}</version>
  <scope>provided</scope>
</dependency>

Add Assets descriptor

This is an example of an Assets Import descriptor and it must be added to the "atlassian-plugin.xml" in your add-on.

<insight-import key="<your-own-import-module-key>"
                name="<your-own-import-module-name>"
                class="com.company.insight.import.module.ImportExample">
    <description>The description of the import type</description>
    <icon>/download/resources/${project.groupId}.${project.artifactId}/images/icon-example.png</icon>
</insight-import>

This is the details description how to setup the Assets descriptor:

名前

タイプ

必須

説明

鍵 (キー)属性はいインポート タイプのキー。一意である必要があります。独自の接頭辞を使用してください。
name属性はいThe name of the import type. Will be shown in Assets UI import section.
クラス属性はいThe class that implements the Assets interface in order to get the import to work.
description要素はいA description about import type. Will be shown in Assets UI import section.
icon要素いいえインポート セクションで使用するアイコンへのリンク。

license-type

要素いいえ

LICENSED を指定すると、インポートでオブジェクトのインポート時に検証メソッドが実行されます。このメソッドは、実装するインターフェイスの一部です (オプション)。

predefined-implementation

要素いいえ

Specify true/false. If this is true, Assets will try to create predefined structure and configuration. This is the methods:

InsightSchemaExternal predefinedStructure(ImportModuleConfiguration configuration);
TemplateImportConfiguration templateImportConfiguration(ImportModuleConfiguration configuration);

実装するインターフェイス

上記の記述子で説明したモジュールクラスは、InsightIportModule インターフェイスを実装する必要があります。インターフェイスとヘルパー クラスの定義については、javadoc をご参照ください。

定義済みの構造

The structure is a way for the Import module to specify an Assets Object Type structure that is suitable target for the import. It is not required from an import module perspective and it is not compulsory for the user to use the suggested structure.

The developer of the module creates a structure by specifying a tree structure based on the ExternalFormat. The tree should be based of a number of ObjectTypeExternal which represents an Assets Object Type. The tree is created by appending one or more children to the ObjectTypeExternal along with the attributes that should be present.

If the user wishes to add a predefined structure, a call from Assets will be made to the import module together with the object type root to start from. Below is the method that needs to be implemented:

ExternalFormat predefinedStructure(ImportModuleConfiguration configuration)



定義済みの設定

インポート モジュールの定義済み設定を作成することもできます。次のメソッドを実装する必要があります。

TemplateImportConfiguration templateImportConfiguration(ImportModuleConfiguration configuration)

ObjectTypeMapping リストが含まれています。

ImportModuleConfiguration

コード例のように、importModuleConfiguration インターフェイスを拡張するモジュール固有の設定を指定する必要があります

これは、ImportModuleConfiguration の例です。

実装例

実装例 (Tempo アカウントのインポート) は https://bitbucket.org/mathiasedblom/insight-import-module-tempo-account からダウンロードできます。


最終更新日 2022 年 9 月 26 日

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

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