Insight 8.4 への準備

Insight バージョンの準備

このページの内容

このセクションの項目

お困りですか?

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

コミュニティに質問

以降のページでは、Insight 8.4 で導入された重大な変更について説明します。Insight バージョン 8.4 以降にアップグレードする際、このドキュメントをご覧になり、Insight のバージョンをアップグレードする準備を行ってください。 

Insight 8.4 へのアップグレードに関するよくある質問については、「Insight 8.4 のよくある質問」のページをご覧ください。

データベース変更

データベースのタイプによっては、手動による変更が必要になる場合があります。Insight をより堅牢にするために、一部のデータベース テーブルが変更されましたが、アップグレード プロセス中に Atlassian Active Object Framework に問題が発生することが分かりました。つまり、次に示す、影響を受けるデータベース タイプを使用している場合は、Insight をアップグレードする手順に従う必要があります。 

使用しているデータベース タイプによっては、Insight 8.4 以降のバージョンにアップグレードする際に、以下の手順に従う必要がある場合があります。これは順序を守って行う必要があります。

SQL Server

  1. インストール前、データベースにクエリを送信します。 

    ALTER TABLE AO_8542F1_IFJ_OBJ_ATTR_VAL DROP CONSTRAINT fk_ao_8542f1_ifj_obj_attr_val_object_attribute_id;
  2. 新しいバージョンの Insight をインストールします。

  3. インストール後、データベースにクエリを送信します。 

    ALTER TABLE AO_8542F1_IFJ_OBJ_ATTR_VAL ADD CONSTRAINT fk_ao_8542f1_ifj_obj_attr_val_object_attribute_id
    FOREIGN KEY (OBJECT_ATTRIBUTE_ID) REFERENCES AO_8542F1_IFJ_OBJ_ATTR(ID);

MySQL

  1. インストール前、データベースにクエリを送信します。 

    ALTER TABLE AO_8542F1_IFJ_OBJ_ATTR_VAL DROP FOREIGN KEY fk_ao_8542f1_ifj_obj_attr_val_object_attribute_id;
  2. 新しいバージョンの Insight をインストールします。
  3. インストール後、データベースにクエリを送信します。

    ALTER TABLE AO_8542F1_IFJ_OBJ_ATTR_VAL ADD CONSTRAINT fk_ao_8542f1_ifj_obj_attr_val_object_attribute_id
    FOREIGN KEY (OBJECT_ATTRIBUTE_ID) REFERENCES AO_8542F1_IFJ_OBJ_ATTR(ID);

h2

  1. インストール前、データベースにクエリを送信します。 

    ALTER TABLE AO_8542F1_IFJ_OBJ_ATTR_VAL ADD CONSTRAINT fk_ao_8542f1_ifj_obj_attr_val_object_attribute_id
    FOREIGN KEY (OBJECT_ATTRIBUTE_ID) REFERENCES AO_8542F1_IFJ_OBJ_ATTR(ID);
  2. 新しいバージョンの Insight をインストールします。
  3. インストール後、データベースにクエリを送信します。

    ALTER TABLE PUBLIC.AO_8542F1_IFJ_OBJ_ATTR_VAL ADD CONSTRAINT fk_ao_8542f1_ifj_obj_attr_val_object_attribute_id FOREIGN KEY  (OBJECT_ATTRIBUTE_ID) REFERENCES PUBLIC.AO_8542F1_IFJ_OBJ_ATTR(ID);

PostgreSQL & Oracle

これらのデータベースでは、特別な操作は不要です。

新しいデータベース マップ

8.4 リリースでは、データベースの構造が変更されます。新しいデータベースの図を次に示します。


イベント変更 (Automation)

削除 クローンされたオブジェクト - オブジェクト クローン イベントが削除されました。

古いレポートとガジェット

削除 古いレポートとガジェットはすべて削除されます。したがって、Insight 8.4 をインストールする前に、廃止されたガジェットをすべて、「Insight Widget」という新しいガジェットに移行する必要があります。それには、「レポート」を作成する必要があります。表示するレポートのタイプを確認し、そのレポートから Jira ガジェットを作成して古いガジェットに置き換えてください。 

REST API

次の変更は、REST API で行われた変更です。Insight REST API を使用するカスタム統合を使用している場合は重要な内容です。これらは Insight v1 API の重大な変更です。 

オブジェクト変更

オブジェクトに関するクエリ

エンドポイント

ステータス

置換後

GET /rest/insight/1.0/objecttype/{id}/objects

置き換え

GET /rest/insight/1.0/iql/objects?iql=objectTypeId={id}

GET /rest/insight/1.0/object/{id}/jiraissues

置き換え

GET /rest/insight/1.0/objectconnectedtickets/{id}/tickets

添付ファイル変更

エンドポイント

ステータス

置換後

GET /plugins/servlet/com.riadalabs.jira.plugins.insight/attachment/<attachment_id>/<filename>

置き換え

GET /rest/insight/1.0/attachments/{attachmentId}

一般 - 日付と時刻のリクエスト タイプとレスポンス タイプ

前のバージョンでは、Insight REST API は、ログイン済みユーザーのタイムゾーンに合わせて調整されたすべての日時情報と、Jira サーバー上で設定された日付 (または日時) 形式を常に返していました。API をより統合しやすくするために、すべての日付と時刻が ISO8601 形式に変更されます。 

Insight で属性値を変更する場合、入力も ISO8601 形式で送信されることが想定されます。この変更は下位互換性があります。つまり、この方法で入力を解析できなかった場合、入力は ISO8601 形式であると見なされ、入力は古い方法、つまり Jira 設定とユーザーのタイムゾーンに基づいて解析されます。 

日付属性タイプ

日付型の属性値はすべて、ISO8601 形式の日付として返されます (例:2017-10-26)。作成時または更新時にも同じ形式で入力することを想定しています。 

新旧の比較

古いレスポンス

"objectAttributeValues": [
  {
    "displayValue": "29/Nov/2019",
    "value": "29/Nov/2019"
   }
]

新しいレスポンス

"objectAttributeValues": [
  {
    "value": "2019-11-29",
    "searchValue": "2019-11-29",
    "displayValue": "29/Nov/2019",
    "referencedType": false
  }
]


DateTime 属性

すべての日時属性が、ミリ秒単位の UTC で ISO8601 形式で返されるようになりました (例: 2010-11-26T07:21:37.123Z)。入力は、標準で定められているように、追加される任意のタイムゾーンの ISO8601 形式での入力を想定しています (例: 2010-11-26 T06:21:37 +0100)。

新旧比較 (新しいレスポンスのタイムゾーンの違いに注意)

古いレスポンス

"objectAttributeValues": [
  {
    "displayValue": "26/Nov/19 9:07 AM",
    "value": "26/Nov/19 9:07 AM"
  }
]

新しいレスポンス

"objectAttributeValues": [
  {
    "value": "2019-11-26T08:07:08.063Z",
    "searchValue": "2019-11-26T08:07:08.063Z",
    "displayValue": "26/Nov/19 9:07 AM",
    "referencedType": false
  }
]

タイムスタンプ

Insight のすべてのタイムスタンプは、UTC の ISO 8601 形式の RESET API で表されるようになりました。つまり、作成、更新、開始、終了などはすべて、ミリ秒単位の UTC で ISO8601 形式で返されます (例: 2010-11-26T07:21:37.123Z)。

新旧の比較

古いレスポンス

"objectType": {
  "abstractObjectType": false,
  "created": "24/Oct/2019 01:11 AM",
  "icon": {
    "id": 29,
    "name": "Computer",
    "url16": "https://url/rest/insight/1.0/objecttype/143477/icon.png?size=16&inherited=true&abstract=false&time=1571919096176",
    "url48": "https://url/rest/insight/1.0/objecttype/143477/icon.png?size=48&inherited=true&abstract=false&time=1571919096176"
  },
  "id": 143477,
  "inherited": true,
  "name": "Laptop",
  "objectCount": 0,
  "objectSchemaId": 58583,
  "parentObjectTypeId": 143476,
  "parentObjectTypeInherited": true,
  "position": 0,
  "type": 0,
  "updated": "24/Oct/2019 01:11 AM"
}

新しいレスポンス

"objectType": {
  "id": 143477,
  "name": "Laptop",
  "type": 0,
  "icon": {
    "id": 29,
    "name": "Computer",
    "url16": "https://url/rest/insight/1.0/objecttype/143477/icon.png?size=16",
    "url48": "https://url/rest/insight/1.0/objecttype/143477/icon.png?size=48"
  },
  "position": 0,
  "created": "2019-10-24T00:11:02.891Z",
  "updated": "2019-10-24T00:11:02.891Z",
  "objectCount": 0,
  "objectSchemaId": 58583,
  "inherited": true,
  "abstractObjectType": false,
  "parentObjectTypeInherited": true
}

事後操作

Jira カスタム フィールドに基づくオブジェクトの割り当て- 削除

事後操作の Jira カスタム フィールドに基づくオブジェクトの割り当てが削除されました (Insight 5.3では廃止されました)。代わりに、「課題からのデータを基にした IQL クエリに基づいてオブジェクトを割り当てる」事後操作を使用してください。

JQL 関数

attributeValue(attribute、operator、value) - 削除

JQL 関数の attributeValue("","","") が削除され、JQL では IQLFunction に置き換えられました。次のように置き換えられます。

customField in iqlFunction("attribute operator value")

JAVA API

JAVA API は、Groovy スクリプト、および Insight とのカスタム統合に使用されます。 

Facade

ObjectFacade

名前とステータス

署名 Insight <=8.3

署名 Insight 8.4

findObjectBeans

削除済

@Deprecated
List<ObjectBean> findObjectBeans(int objectTypeId,
            boolean includeObjectTypesChilds,
            String filterName,
            int offset,
            Integer limit) throws InsightException;

代わりに IQLFacade を使用した例の IQL

label = "filterName" AND objectType IN (objectTypeId)

label = "filterName" AND objectType IN objectTypeAndChildren(objectTypeId)

findObjectBeans

削除済

@Deprecated
List<ObjectBean> findObjectBeans(int objectTypeId,
        String iql,
        boolean includeObjectTypesChilds,
        String nameQuery,
        int offset,
        Integer limit) throws InsightException;

代わりに IQlFacade を使用した例

label like "nameQuery" AND objectType IN (objectTypeId) AND iql

label like "nameQuery" AND objectType IN objectTypeAndChildren(objectTypeId) AND iql

findObjectBeans

削除済

@Deprecated
List<ObjectBean> findObjectBeans(Set<Integer> objectTypeIds,
            String filterName,
            Long projectId,
            int offset,
            Integer limit) throws InsightException;

代わりに IQlFacade を使用した例

objectType IN (objectTypeId1, objectTypeId2, ..., objectTypeIdN) AND label = "filterName"

findObjectBeansByObjectSchema

削除済

@Deprecated
List<ObjectBean> findObjectBeansByObjectSchema(int id, String namePrefix, int offset, Integer limit)
            throws InsightException;

代わりに IQlFacade を使用した例

objectSchemaId = id AND label startsWith "namePrefix"

findObjectBeansByName

削除済

@Deprecated   
List<ObjectBean> findObjectBeansByName(int objectTypeId, boolean includeObjectTypesChilds, String name)
            throws InsightException;

代わりに IQlFacade を使用した例

label = "filterName" AND objectType IN (objectTypeId)

label = "filterName" AND objectType IN objectTypeAndChildren(objectTypeId)

findObjectBeansByAttributeValue

削除済

@Deprecated
List<ObjectBean> findObjectBeansByAttributeValue(int objectTypeAttributeId, @Nonnull String operator, @Nonnull Object value)
            throws InsightException;

この場合は、ObjectTypeAttributeId → ObjectTypeAttributeName と値を変更して文字列表現に変換する必要があります


objectTypeAttributeName = "valueAsString"

findObjectJiraIssueBeans

CHANGED

List<ObjectJiraIssueBean> findObjectJiraIssueBeans(int objectId) throws InsightException;

List<ObjectTicketConnectionEntry> findObjectTicketConnections(int objectId) throws InsightException;

findObjectJiraIssueBeans

CHANGED

List<ObjectJiraIssueBean> findObjectJiraIssueBeans(int objectId, int offset, int limit) throws InsightException;

@Deprecated
List<ObjectTicketConnectionEntry> findObjectTicketConnections(int objectId, int offset, int limit)
            throws InsightException;

findObjectJiraIssueBeans

CHANGED

List<ObjectJiraIssueBean> findObjectJiraIssueBeans(Long jiraIssueId) throws InsightException;

List<ObjectTicketConnectionEntry> findObjectTicketConnections(long ticketId) throws InsightException;

ObjectSchemaFacade

名前とステータス

署名 Insight <=8.3

署名 Insight 8.4

loadObjectSchemaBean

非推奨

ObjectSchemaBean loadObjectSchemaBean(final int id) throws InsightException;

ObjectSchemaBean loadObjectSchema(final int id) throws InsightException;

ObjectTypeAttributeFacade

非推奨

署名 Insight <=8.3

署名 Insight 8.4

loadObjectTypeAttributeBean

非推奨

ObjectTypeAttributeBean loadObjectTypeAttributeBean(final int id) throws InsightException;

ObjectTypeAttributeBean loadObjectTypeAttribute(final int id) throws InsightException;

loadObjectTypeAttributeBean

非推奨

ObjectTypeAttributeBean loadObjectTypeAttributeBean(int objectTypeId, String name) throws InsightException;

ObjectTypeAttributeBean loadObjectTypeAttribute(int objectTypeId, String name) throws InsightException;

ObjectTypeFacade

非推奨

署名 Insight <=8.3

署名 Insight 8.4

loadObjectTypeBean

非推奨

ObjectTypeBean loadObjectTypeBean(final int id) throws InsightException;

ObjectTypeBean loadObjectType(final int id) throws InsightException;

loadObjectTypeBean

非推奨

@Deprecated
ObjectTypeBean loadObjectTypeBean(final int id, Object object) throws InsightException;

@Deprecated
ObjectTypeBean loadObjectType(final int id, Object object) throws InsightException;

ObjectTicketFacade (新しい facade)



署名 Insight 8.4

findTicketsForObject


@Nonnull
ObjectTicketsEntry findTicketsForObject(int objectId, @Nullable Long filterId, @Nullable Integer limit);

モデル クラス

一部の ObjectFacade メソッドでは、モデル クラスがパラメーターおよびレスポンス オブジェクトとして使用されます。 

ObjectAttributeValueBean

  • ID を取得するための getId() が追加されました
  • toString() が "[" + getValue() + "]" から "[" + id + "(" + getValue() + ")]" に変更されました

RoleBean

  • getType () は int ではなく roleType を返すようになりました
  • setType(int type) が setType(RoleType) に変更されました

ObjectBean

  • getObjectAttributeBeans() は値を持つ ObjectAttributeBean のみを返します。 

イベント クラス

InsightObjectAsyncEvent

  • getRunAsUser() は ApplicationUser ではなく InsightUser を返します。ApplicationUser を取得する方法には以下があります。

*) サービス「com.atlassian.jira.user.util.UserManager」とメソッド「getUserByKey(String userKey)」を使用する

*) スタティック「com.atlassian.jira.user.ApplicationUsers.byKey(String UserKey)」を使用する 

インポート 

CSV インポート

CSV インポートで、コンテンツ ストリームのコンテンツが実際に CSV ファイルであることが検証されます。これは、URL から CSV をインポートするインポート設定に影響する場合があります。 

最終更新日 2021 年 9 月 8 日

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

はい
いいえ
この記事についてのフィードバックを送信する

このセクションの項目

Powered by Confluence and Scroll Viewport.