To ease the task of troubleshooting and to monitor executed processes in Insight, we have introduced process result. This is implemented for the new imports but we will of course reuse it for more functionality in the future. At this time, it is possible to see how an import was executed, how many items were created, updated, ignored, deleted, and the time consumed. A huge benefit when it comes to be confident in data that is imported (and eventually other jobs).
機能のさらなる充実を図るために、明確なインターフェイスと拡張可能性に基づいてインポート機能モジュールを作成しました。独自のインポート モジュールを記述してアドオンとして Jira にデプロイし、あらゆるデータ ソースからデータを読み込めるようになりました。Insight の役割が構造化データの設定と挿入であるのに対して、このモジュールの役割はデータの読み取りと解釈です。
さまざまなシステムから Insight にユーザーを移行できるようにするために、多くのインポート モジュールがサードパーティに提供されることが望まれます。この概念を確実に機能させるために、Jira 内のプロジェクト、課題タイプ、フィールド、通知スキームなどの設定データを基本的にスキャンする「Jira 環境」インポートが追加されて、すべての関係が構築されるようにしています。これは Jira 管理者の夢です。具体的には、プロジェクトが 6 か月間使用されなかったとき、重大な権限スキーマの権限ルールが変更されたとき、または誰かが Jira 画面から重要なフィールドを削除しているときにトリガーされる自動ルールを簡単に作成できるようになりました。可能性に終わりはありません。
True Inheritance
Insight 5.0 では、オブジェクト タイプ構造で継承を使用できるようになりました。この場合の継承とは、継承が有効化された親のすべての子が親のすべての属性を継承して、孫やその子などに対しても引き続き継承されていくことを意味します。子「Linux Host」や子「Windows Host」を持つオブジェクト タイプ「Host」を作成できるようになりました。子の 2 つは、オブジェクト タイプ「Host」の共通属性 (「IP Address」や「Host name」など) を継承します。
これを可視化するために Insight の基本ビューが改良されたため、現在のオブジェクト タイプとそのすべての子の両方について、継承ツリーにあるすべてのオブジェクトを表示できるようになりました。これによって、継承ツリーにあるすべての子について IQL でフィルタリングして検索し、それらを相互に比較できます。これの実装時に、オブジェクト タイプはその子に対する属性を定義するためだけに存在する場合があることが確認されました。それを受けて、抽象オブジェクト タイプにはオブジェクトを含められないという抽象概念が導入されました。
Of course, this is something that should be visible in the graph, so we added that feature too :)
既に作成済みのオブジェクト タイプ構造には継承を設定できませんが、構造を作成してオブジェクトを移動できます。
ラベル
多くの方から Insight オブジェクトの「表示名」を変更できるようにしてほしいという要望が寄せられてきましたが、ついにその機能の導入に至りました。
「Text」タイプのすべての属性をラベルに変更できるようになりました。つまり、この属性 (ラベル) は、Insight と Jira のあらゆる場所に表示されるようになります。
ファイル
CSV インポート パースペクティブまたはラベル テンプレートから Insight にアップロードされたファイルには、各オブジェクト スキーマのファイル セクションからはアクセスできません。これらのファイルについては、ステータスとシステムにある他のリソースへの依存関係を確認できます。
監査ログ
オブジェクトの変更に関する監査ログ エントリを作成するように Insight を設定できるようになりました。アドオンを管理ページの下にある設定ページをご確認ください。オブジェクトに対する各変更は insight_audit.log に行として追加されます。初期設定では、この機能は無効化されています。
Insight Logging
Insight ログは、個別のフォルダーから共通のログ フォルダーに移動されました。初期設定では、Insight ログは毎日ローテーションされますが、ファイルのハウスキープ処理は独自のログ ポリシーに従って処理する必要があります。
Insight Locked
When Insight is starting up without a Index file, if Insight is configured to load cache from database or if Insight detects that the cache is corrupt during startup Insight will be locked until the process of reindex all Insight objects is complete. This is to ensure that Insight is not operating on data that is not valid.
When Insight is locked all automation events that are triggered will be queued until Insight is unlocked. Import tasks that are triggered will halt with an exception stating that Insight is locked.
並列処理
We added the possibility to configure Insights parallelism. The default is to use all available cores when dividing tasks that needs to be done. If this is not the way you want Insight to operate visit the Insight configuration page and change the value to one that suit your needs.
What does the parallelism mean? Some tasks (like import, reindex and object search) will be divided into chunks and executed in parallel. Since the tasks are not dependent on each other executing them in parallel will result in a faster completion time. This comes at the cost of CPU utilisation since more cores will be used to process information.
最終的には
パフォーマンス重視の方針に基づいて、新しいリリースではキャッシュ管理がさらに改善されたため、データベースの読み取りが大幅に削減されました (もちろん CPU とメモリは犠牲になります)。
REST-API の変更点
オブジェクト タイプの作成または更新時は、継承されるブール プロパティと abstractObjectType を指定する必要があります。
The JSON to create an object type before Insight 5
{"name": "My Name", "iconId": 1, "objectSchemaId": 1}
Will have to be
{"name": "My Name", "iconId": 1, "objectSchemaId": 1, "inherited": false, "abstractObjectType": false}
JAVA API の変更点
重大な変更
We have changed the way how classes of type ObjectBean, ObjectBeanAttribute and ObjectAttributeValueBean are handled. It is no longer possible to instantiate any of these classes, they can only be retrieved from within Insight. The classes that should be used are instead MutableObjectBean, MutableObjectAttributeBean and MutableObjectAttributeValueBean. If you used the recommended way to create ObjectAttributeBean and ObjectAttributeBeanValue you are not affected.
上記のすべてのクラスは似たような構造を持ち、変更可能なコピーを作成するための .createMutable() メソッドも備えています。
Following is the recommended way to instantiate the classes mentioned (if you have used them in a previous version of Insight they will work after upgrading to Insight 5).
MutableObjectBean mObjectBean = new MutableObjectBean(); MutableObjectBean mObjectBean = objectBean.createMutable(); MutableObjectAttributeBean mObjectAttributeBean = objectBean.createObjectAttributeBean(objectTypeAttributeBean); MutableObjectAttributeBean mObjectAttributeBean = objectAttributeBean.createMutable(); MutableObjectAttributeValueBean mObjectAttributeValueBean = objectAttributeBean.createObjectAttributeValueBean(); MutableObjectAttributeValueBean mObjectAttributeValueBean = objectAttributeValueBean.createMutable();
Return type changed of ObjectBean.getObjectAttributeBeans() to List<? extends ObjectAttributeBean> instead of previous List<ObjectAttributeBean> Return type changed of ObjectAttributeBean.getObjectAttributeValueBeans() to List<? extends ObjectAttributeValueBean> instead of previous List<ObjectAttributeValueBean>
追加された機能
We have added a factory for you to easier create those attributes and values from the API. If you are looking for an easier way to create ObjectAttributeBeans with corresponding ObjectAttributeValueBeans this is the new place to start. Check out the new class ObjectAttributeBeanFactory.
public MutableObjectAttributeBean createObjectAttributeBeanForObject(ObjectBean objectBean, ObjectTypeAttributeBean ota,
String... values) throws InsightException ;
Supply an ObjectBean, ObjectTypeAttributeBean and your values as strings. You will have to add the MutableObjectAttributeBean to a MutableObjectBean after creation.
See full example usage in the script Create object or the following groovy snippet
/* Set the name of the customer */ def nameObjectTypeAttributeBean = objectTypeAttributeFacade.loadObjectTypeAttributeBean(1); // 1 is the ID of the object type attribute "Name" objectAttributeBeans.add(objectAttributeBeanFactory.createObjectAttributeBeanForObject(newObjectBean, nameObjectTypeAttributeBean, issue.getSummary()));
Insight 5.0 にアップグレードする前に
Insight 4 から Insight 5 にアップグレードした後、すべてのインポート設定を確認することを強くお勧めします。
If your installation of Insight is configured with an Insight Discovery import you will have to do the following after you have installed Insight 5
- Marketplace から Insight Discovery バージョン 2.x をダウンロードしてインストールします
- Insight Discovery インポートが設定されているオブジェクト スキーマに移動し、[Migrate Configuration (設定の移行)] を押します
- 移行されたインポート設定を確認します
If your installation of Insight is configured with a Tempo Account import you will have to do the following after you have installed Insight 5
- Marketplace から Insight Tempo 統合をダウンロードしてインストールします
- Tempo インポートが設定されているオブジェクト スキーマに移動し、[Migrate Configuration (設定の移行)] を押します
- 移行されたインポート設定を確認します
WARNING BEFORE UPGRADE
Jira 6.x からのアップグレードの場合
For Insight 2.x users, make sure that you upgrade to the latest version of Insight 3.x before upgrading to Insight 5.0 if you are on Insight 2.x.
This is very important for the upgrade process!!
If you did accidentally upgrade from Insight 2.x to Insight 5.x and realized this afterwords, you have to do as described here.
Insight 5 ベータ版からのアップグレード
Insight 5 ベータ版を使用している場合は、特別なことは何も必要ありません。推奨されるアップグレード パスは、ベータ版から最新の Insight 5 Marketplace バージョンにアップグレードすることです。アップグレード前の Insight 4 へのロール バックは不要で非推奨です。


