Insight 8.4 への準備
以降のページでは、Insight 8.4 で導入された重大な変更について説明します。Insight バージョン 8.4 以降にアップグレードする際、このドキュメントをご覧になり、Insight のバージョンをアップグレードする準備を行ってください。
Insight 8.4 へのアップグレードに関するよくある質問については、「Insight 8.4 のよくある質問」のページをご覧ください。
データベース変更
データベースのタイプによっては、手動による変更が必要になる場合があります。Insight をより堅牢にするために、一部のデータベース テーブルが変更されましたが、アップグレード プロセス中に Atlassian Active Object Framework に問題が発生することが分かりました。つまり、次に示す、影響を受けるデータベース タイプを使用している場合は、Insight をアップグレードする手順に従う必要があります。
使用しているデータベース タイプによっては、Insight 8.4 以降のバージョンにアップグレードする際に、以下の手順に従う必要がある場合があります。これは順序を守って行う必要があります。
SQL Server
インストール前、データベースにクエリを送信します。
ALTER TABLE AO_8542F1_IFJ_OBJ_ATTR_VAL DROP CONSTRAINT fk_ao_8542f1_ifj_obj_attr_val_object_attribute_id;
新しいバージョンの Insight をインストールします。
インストール後、データベースにクエリを送信します。
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
インストール前、データベースにクエリを送信します。
ALTER TABLE AO_8542F1_IFJ_OBJ_ATTR_VAL DROP FOREIGN KEY fk_ao_8542f1_ifj_obj_attr_val_object_attribute_id;
- 新しいバージョンの Insight をインストールします。
インストール後、データベースにクエリを送信します。
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
インストール前、データベースにクエリを送信します。
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);
- 新しいバージョンの Insight をインストールします。
インストール後、データベースにクエリを送信します。
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 に置き換えられました。次のように置き換えられます。
|
JAVA API
JAVA API は、Groovy スクリプト、および Insight とのカスタム統合に使用されます。
Facade
ObjectFacade
名前とステータス | 署名 Insight <=8.3 | 署名 Insight 8.4 | |||
---|---|---|---|---|---|
findObjectBeans削除済 |
| 代わりに IQLFacade を使用した例の IQL
| |||
findObjectBeans削除済 |
| 代わりに IQlFacade を使用した例
| |||
findObjectBeans削除済 |
| 代わりに IQlFacade を使用した例
| |||
findObjectBeansByObjectSchema削除済 |
| 代わりに IQlFacade を使用した例
| |||
findObjectBeansByName削除済 |
| 代わりに IQlFacade を使用した例
| |||
findObjectBeansByAttributeValue削除済 |
| この場合は、ObjectTypeAttributeId → ObjectTypeAttributeName と値を変更して文字列表現に変換する必要があります
| |||
findObjectJiraIssueBeansCHANGED |
|
| |||
findObjectJiraIssueBeansCHANGED |
|
| |||
findObjectJiraIssueBeansCHANGED |
|
|
ObjectSchemaFacade
名前とステータス | 署名 Insight <=8.3 | 署名 Insight 8.4 | ||
---|---|---|---|---|
loadObjectSchemaBean非推奨 |
|
|
ObjectTypeAttributeFacade
非推奨 | 署名 Insight <=8.3 | 署名 Insight 8.4 | ||
---|---|---|---|---|
loadObjectTypeAttributeBean非推奨 |
|
| ||
loadObjectTypeAttributeBean非推奨 |
|
|
ObjectTypeFacade
非推奨 | 署名 Insight <=8.3 | 署名 Insight 8.4 | ||
---|---|---|---|---|
loadObjectTypeBean非推奨 |
|
| ||
loadObjectTypeBean非推奨 |
|
|
ObjectTicketFacade (新しい facade)
署名 Insight 8.4 | |||
---|---|---|---|
findTicketsForObject新 |
|
モデル クラス
一部の 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 をインポートするインポート設定に影響する場合があります。