Jira Service Management 10.0.x アップグレード ノート
ここでは、Jira Service Management 10.0.x へのアップグレードに関する重要な注意事項について説明します。このリリースの新機能や改善の詳細については、次のページをご確認ください。
プラットフォーム リリースには、過去のバージョンとの互換性を持たない大規模な変更 ("重大な変更") が複数含まれます。このような変更により、将来のリリースでより広範な開発を行うための強化な基盤を確立しています。
To increase security and performance, we’ve made changes in our core architecture that require apps to bundle their libraries. We’re collaborating with our Marketplace partners on these changes, however, some apps may not be immediately compatible with the new platform upon release and cause product experience breaks. We recommend that you review your apps before upgrading to avoid service disruptions for your organization.
To check app compatibility, visit Checking app compatibility with application updates or the Atlassian Marketplace to see if your app hosting is compatible with your product version.
- アップグレード ノート
- Jira Data Center では非同期 Webhook が既定で使用される
- Automation for Jira compatibility check
- Removal of REST API endpoints
- Removal of the http-builder library
- Groovy 4 のアップグレード
- Jira Software 10.0 および Jira Service Management 6.0 のデータベース アップグレードに伴って予測されるダウンタイム
- アセット機能の内部 GraphQL API を削除
- 以前に廃止された機能フラグの削除
- Java API に関する後方互換性のない変更
- 依存関係の削除
- バイナリ インストーラーの削除
- アプリケーション リンクの互換性
- ベロシティ パス トラバーサルの防止と許可登録
- ランタイムの JavaServer ページのコンパイルを無効にする
- カスタム JSP をアクションによってロードされない限りブロックする
- サポート終了のお知らせ
- アプリ開発者向けの情報
- アップグレード手順
アップグレード ノート
Jira Data Center では非同期 Webhook が既定で使用される
Jira Data Center 10.0.0 以降では、非同期 Webhook が既定かつ唯一のオプションになりました。このアップデートにより、Webhook をユーザー リクエストに結び付けるのではなく、専用のスレッド プールを通じて処理するようになり、結果としてユーザー エクスペリエンスが大幅に向上します。Jira 9 以前では、Webhook は同期的に処理され、最も計算量の多い作業は HTTP リクエスト中に実行されていました。
Environments with exceptional webhook usage in both Jira 9 and 10 might exceed the guardrails set by the default parameters. We recommend testing the asynchronous webhooks within your staging environments before a final upgrade. If you experience any issues, check our list of known problems or reach out to our support team.
Jira で Webhook のパフォーマンス パラメーターを調整する方法を確認する
Automation for Jira compatibility check
During the Jira update check, the Automation for Jira app will be flagged as Incompatible. You can safely ignore this warning. The app will continue functioning properly after upgrading Jira, and no additional actions are needed. For more information, refer to the knowledge base article.
Removal of REST API endpoints
対象: 管理者
We’ve removed the following REST API endpoints in the Jira Service Management 10.0.
| 変更 | 手順 |
|---|---|
Removed | GET /servicedeskapi/admin/queues/{projectKey} を使用する |
削除済
| PUT /servicedeskapi/admin/queues/include-count を使用する |
Removed PUT /servicedeskapi/queues/{projectKey}/include-count | PUT /servicedeskapi/admin/queues/{projectKey}/include-count を使用する |
Removed PUT /servicedeskapi/queues/cache-count | PUT /servicedeskapi/admin/queues/cache-count を使用する |
Removed PUT /servicedeskapi/queues/{projectKey}/cache-count | PUT /servicedeskapi/admin/queues/{projectKey}/cache-count を使用する |
Removal of the http-builder library
対象: 管理者
We’ve removed the http-library in Jira Service Management 10.0 because it is not being actively maintained. If you are using this library in Groovy scripts, we recommend that you switch to the native Groovy GET and POST methods.
Groovy 4 のアップグレード
対象: 管理者
We’ve upgraded from Groovy 2 to Groovy 4 in Jira Service Management 10.0 for better security, functionality, and syntax support. If you’ve been using Groovy scripts in Assets, test your existing scripts in a non-production environment to make sure your scripts work properly.
重要かつ重大な変更点は次のとおりです。
switchステートメントのシンタックスの変更。- Changes to the syntax of the
intersect()method on arrays. - Changes to the resolution of properties of isser/getter.
picocliパッケージの同梱は行われなくなります。代わりに@Grabを利用します。ImportCustomizerはモジュールごとに一度適用されます (これまではクラスごとに一度)。groovy-jaxb、groovy-bsf、およびStaticTypeCheckingVisitor#collectAllInterfacesByNameモジュールの提供は終了します。- Antir2 ベースのパースは行えなくなります (新しい Parrot パーサーを利用します)。
- 一部の CLI ヘルプ メッセージのフォーマットの変更。
If you run into the following issue with
JsonSlurper, replaceJsonSlurperwithJacksonObjectMapper.java.lang.RuntimeException: Unable to load FastStringService at org.apache.groovy.json.internal.FastStringUtils.getService(FastStringUtils.java:56) ~[?:?] at org.apache.groovy.json.internal.FastStringUtils.toCharArray(FastStringUtils.java:66) ~[?:?] at org.apache.groovy.json.internal.BaseJsonParser.parse(BaseJsonParser.java:114) ~[?:?] at groovy.json.JsonSlurper.parseText(JsonSlurper.java:205) ~[?:?]The following table lists the changes to the names of classes, packages, and modules.
重大な変更の完全な一覧については次のページをご確認ください。
| クラス/パッケージ/モジュール名 | Groovy 2 | Groovy 4 |
|---|---|---|
| groovy-xml | groovy.util | groovy.xml |
| groovy | groovy.xml.QName | groovy.namespace |
| groovy-ant | groovy.util | groovy.ant |
| groovy-console | groovy.inspect | groovy.console |
| groovy.console.ui | |
groovy.ui.ConsoleApplet | 非推奨 | |
| groovy-groovysh |
| org.apache.groovy.groovysh |
| groovy-jmx |
| groovy.jmx |
| groovy-nio |
| org.apache.groovy.nio.extensions.NioExtensions |
| org.apache.groovy.nio.runtime | |
| groovy-swing |
| org.apache.groovy.swing.binding |
| groovy.swing.model | |
| org.apache.groovy.swing.table | |
| groovy-test |
| org.apache.groovy.test |
groovy.transform.NotYetImplemented | groovy.test.NotYetImplemented | |
groovy.util | groovy.test | |
groovy.lang | groovy.test | |
| GroovyClassLoader | sourceCache と classCache のタイプは Map から、より強力なタイプに変わりました |
Jira Software 10.0 および Jira Service Management 6.0 のデータベース アップグレードに伴って予測されるダウンタイム
対象: 管理者
We’re changed the structure of MySQL and Oracle databases in Jira Software 10.0 and Jira Service Management 6.0 to enhance the accuracy of timestamps for operations, down to the millisecond (operations such as creating issues, updating comments, or changing statuses).
MySQL または Oracle データベースをご利用の場合、jiraissue、jiraaction、および changegroup テーブル内のいくつかのカラムがアップグレード中に移行されるため、アップグレードで追加のダウンタイムが発生します。このダウンタイムは、課題の数が 500 万件未満である場合は 20 分未満になると予想されています。なお、ダウンタイムはご利用のデータベースのパフォーマンスに加えて、jiraissue、jiraaction、および changegroup テーブルの行数の影響を受ける点に注意してください。
正確なダウンタイムを把握してアップグレードを計画するには、次の手順を実行します。
ご利用のデータベースで次のコマンドを実行して行数を取得します。
SELECT COUNT(*) FROM jiraissue; SELECT COUNT(*) FROM jiraaction; SELECT COUNT(*) FROM changegroup;- Amazon RDS db m6g.8xlarge 用に提供された次のベンチマーク データを利用して、ダウンタイムを予測します。
jiraissueテーブル: 100 万行あたり約 26.527 秒jiraactionテーブル: 100 万行あたり約 7.592 秒- changegroup テーブル: 100 万行あたり約 9.468 秒
たとえば、jiraissue、jiraaction、および changegroup テーブルにそれぞれ 500 万、800 万、および 8,000 万行があった場合、約 16.65 分のダウンタイムが予測されます。
アセット機能の内部 GraphQL API を削除
対象: 管理者
We have removed the internal Assets GraphQL APIs to enhance security, establish consistent API patterns across Jira Service Management and Assets, and to clean up our code base. We’ve migrated the APIs that are used to configure Assets icons to new internal REST endpoints.
次のものが削除されます。
- GraphQL エンドポイント
/insight/graphql GraphQL クエリ:
クエリ名 説明 findObjectSchemas提供されたフィルターでオブジェクト スキーマを検索します。フィルターが提供されていない場合はすべてのオブジェクト スキーマが返されます。
objectSchemaオブジェクト スキーマを ID で取得します
findObjectTypes提供されたフィルターでオブジェクト タイプを検索します。フィルターが提供されていない場合はすべてのオブジェクト タイプが返されます。
findObjectTypeRelations関連するオブジェクト タイプを検索します
objectTypeオブジェクト タイプを ID で取得します
iconアイコンを ID で取得します
globalIconThemeグローバル アイコン テーマを取得します
findObjects提供されたフィルターでオブジェクトを検索します。フィルターが提供されていない場合はすべてのオブジェクトが返されます。
findObjectReferences特定のオブジェクトの内向きまたは外向き参照を検索します。
findStatusTypes提供されたフィルターでステータス タイプを検索します。フィルターが提供されていない場合はすべてのオブジェクト ステータス タイプが返されます。
findReferenceTypes提供されたフィルターで参照タイプを検索します。
objectオブジェクトを ID で取得します
findObjectTypeAttributes提供されたフィルターでオブジェクト タイプ属性を検索します。フィルターが提供されていない場合はすべてのオブジェクト タイプ属性が返されます。
objectTypeAttributeオブジェクト タイプ属性を ID で取得します
findUniqueObjectAttributeValues特定のオブジェクト タイプ属性の一意のオブジェクト属性値を検索します
GraphQL ミューテーション:
ミューテーション名 説明 createObjectSchema新しいオブジェクト スキーマを作成
updateObjectSchema既存のオブジェクト スキーマの名前または説明を更新
copyObjectSchema既存のオブジェクト スキーマをコピー
deleteObjectSchema既存のオブジェクト スキーマを削除
createObjectType新しいオブジェクト タイプを作成
updateObjectType既存のオブジェクト タイプを更新
updateObjectTypePositionオブジェクト タイプ構造内で 1 つのオブジェクト タイプの位置を変更
copyObjectType既存のオブジェクト タイプをコピー
deleteObjectType既存のオブジェクト タイプを削除
createObject新しいオブジェクトを作成
updateObject既存のオブジェクトを更新
deleteObject既存のオブジェクトを削除
createObjectTypeAttribute新しいオブジェクト タイプ属性を作成
updateObjectTypeAttribute既存のオブジェクト タイプ属性を更新
configureObjectTypeAttributeオブジェクト タイプ属性の設定を変更
updateObjectTypeAttributePosition属性リスト内で 1 つのオブジェクト タイプ属性の位置を変更
deleteObjectTypeAttribute既存のオブジェクト タイプ属性を削除
createIcon新しいアイコンを作成
updateIcon既存のアイコンを更新
deleteIcon既存のアイコンを削除
configureGlobalIconThemeグローバル アイコンテーマを設定
resetGlobalIconThemeグローバル アイコン テーマをデフォルト設定にリセット
以前に廃止された機能フラグの削除
In this release, we’ve removed the following feature flags:
com.atlassian.jira.agile.darkfeature.burnupchartoptimistic.transitionscom.atlassian.jira.advanced.audit.logvelocity.chart.uijira.quick.searchcom.atlassian.jira.custom.csv.escaperatlassian.cdn.static.assetsjira.users.and.roles.page.in.react
以前はこれらの機能フラグの背後にあったすべての機能が、既定で有効化されました。
Java API に関する後方互換性のない変更
In this release, we've removed several deprecated methods and classes. Additionally, we’ve made adjustments to a group of methods which involved modifying the signatures and return types.
依存関係の削除
In this release, we’ve removed access to a number of dependencies.
バイナリ インストーラーの削除
Starting from Jira 10.0, the .bin and .exe installers will no longer be available. You can still install Jira using the .zip and .tar.gz distributions.
Because of this change, Java is no longer bundled with Jira. Install Java manually
アプリケーション リンクの互換性
Starting from Jira 10.0, Application Links are only backward-compatible with products that have integrated a particular bug fix addressing incorrect Application Links version parsing. To enable Application Links to function properly, make sure to upgrade any other Atlassian products to a minimum supported version:
Jira Software | Jira Service Management | Confluence | Bitbucket | Bamboo | Crowd | Fisheye および Crucible |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
ベロシティ パス トラバーサルの防止と許可登録
We've upgraded Velocity to the Atlassian fork to implement path traversal prevention and allowlisting. The path traversal mechanism will escape any method call which contains parameter with path traversal symbols like ../. The method call will appear as a string on the front-end side.
Velocity template method invocations are now restricted to an allowlist. Unauthorized invocations will trigger a log warning and will be blocked to mitigate Server-Side Template Injection (SSTI) vulnerabilities. The global method allowlists encompass JDK and Atlassian class methods. Apps have the option to define their own allowlist using the module descriptor which will complement the global allowlist. We recommend that apps only expose immutable Data Transfer Objects (DTOs) and refrain from invoking application services or beans from templates.
Furthermore, all Velocity template files residing on the file system must be both allowlisted and of an allowlisted file type. This serves as a basic defense against attacks that combine file system access with a request to achieve remote code execution.
For now, the Velocity method allowlist is in debug mode so that app developers can adjust to this mechanism and for us to complete the main allowlist and minimize the risk of issues. The debug mode will be disabled at the earliest in the upcoming LTS.
ランタイムの JavaServer ページのコンパイルを無効にする
JavaServer Pages (JSP) runtime compilation will be disabled in Jira Software 10.0. JSP files added to the Tomcat directory that aren't shipped with the product won’t be served. Furthermore, no modifications to the JSP files will be reflected. We recommend using Soy or Velocity templates instead.
カスタム JSP をアクションによってロードされない限りブロックする
We’ve blocked direct requests to JSP files. JSP files can now be only loaded when requested by an action.
サポート終了のお知らせ
We’ve removed support for:
.binと.exeのバイナリ インストーラー- H2 データベース エンジン
- Java 8
- Java 11
次のバンドルを解除しました:
Java (バイナリ インストーラーが削除されたため)
For the list of supported platforms, check Supported platforms.
過去のお知らせについては「サポート終了のお知らせ」をご確認ください。
アプリ開発者向けの情報
For any important changes regarding apps, check out the Jira changelog.
FAQ for app developers
Based on your feedback from the Developer Community announcement of Jira 10.0, we’ve prepared a list of frequently asked questions.
アップグレード手順
最新のバージョンにアップグレードするために、次の資料を活用できます。
- 利用可能なすべてのアップグレード方法およびアップグレード前の手順を含む完全なアップグレード手順について、「Jira アプリケーションのアップグレード」をご参照ください。
- ご自身の環境に合わせたアップグレードをご検討の場合、[Jira 管理] > [アプリケーション] > [アップグレードを計画] をご確認ください。アップグレード先のバージョンの提案やアップグレード前のチェックの実行が行われ、詳細な手順を含むカスタムのアップグレード ガイドが提供されます。