Jira 9.2 への準備
This documentation is intended for Jira developers who want to ensure that their existing apps are compatible with Jira 9.2
8.x から 9.x へのアップグレードでは Jira の完全な再インデックスがトリガーされるため、プロセス中にダウンタイムが発生します。現在 8.x をご利用の場合、ダウンタイムを予測したうえでアップグレードに最適な時間枠を選ぶようにしてください。
概要
最新バージョン
ここでは最新の EAP についての情報をご案内します。
Application/Date | Number (番号) | バージョン (Maven) | ダウンロード |
---|---|---|---|
Jira Core/Software
| 9.2.0-EAP03 | 9.2.0-m0004 | Source files (Core) Source files (Software) |
Jira Service Management
| 5.2.0-EAP03 | 5.2.0-m0004 |
変更の概要
In this section we'll provide an overview of the changes we intend to make, so you can start thinking how it might impact your apps. Once they're ready, we'll indicate when a change has been implemented, and in which milestone.
OAuth 2.0 送信メール (SMTP)
Status: IMPLEMENTED ( 01)
App: JIRA SERVICE MANAGEMENT, JIRA SOFTWARE
We’re introducing OAuth2 authorization for SMTP outgoing mail servers. We keep the support for Google and Microsoft as providers as well as the IMAP, POP3, and SMTP protocols for connection.
To find the feature, go to Administration > System > Outgoing mail. We’ve added two new fields and a new button to the form to allow the configuration of a proper authentication method or JNDI location:
- [認証方法] フィールド
- [有効化] チェックボックス
- [承認] ボタン
- Authentication method is a method that you want to use. It always has the Password (basic authentication) option. Other options depend on defined OAuth providers. When Password (basic authentication) is selected, the Password input is added below Username.
- The Enabled checkbox states if a JNDI location should be used. If you select the checkbox, the Server Details section of the form will be disabled.
- The Authorize button has the following behavior:
- The button is active and visible only when you select one of the OAuth providers as the authentication method. When you select the button, the flow for obtaining the OAuth token will be initiated. When the flow is completed, the Test Connection button will be enabled.
- The button is hidden and inactive when the Password (basic authentication) method is selected. In this case, the user can immediately select the Test Connection button. A successful connection test is necessary, as without it the Save button remains disabled.
この機能は初期設定で有効になっていますが、現在の送信メール設定も引き続き使用できます。
JFR の診断記録設定
Status: IMPLEMENTED ( 01)
App: JIRA SERVICE MANAGEMENT, JIRA SOFTWARE
We’ve added the ability to configure diagnostic recording via the user interface and endpoints with Java Flight Recorder (JFR). Now, to get the desired information, you can configure the amount of recorded data for the sake of easier problem diagnostics. To do this, adjust the following JFR settings:
- Maximum recording age: the maximum snapshot file age threshold beyond which the snapshot is deleted.
- Maximum recording size: the maximum snapshot size threshold beyond which the snapshot is deleted.
- Thread dumps interval: the time interval for extracting thread dumps.
To find the feature, go to Administration > System > Troubleshooting and support tools. On the page, find the Java Flight Recorder settings section.
Learn more about how to use Java Flight Recorder in Diagnosing runtime issues using Java Flight Recorder.
Faster page load time for backlog and board views
Status: IN PROGRESS ( 01)
App: JIRA SOFTWARE
We’re started reducing the amount of code that’s shipped to the browser on Jira Software pages, aiming to speed up page loading time in the app. So far, we’ve optimized page performance for Jira Agile views: backlog and board.
変更内容
Polyfills are removed from all Jira pages and reports resources are decoupled for backlog and board views. We’ve currently in the process of bundling the code with webpack.
Removing polyfills from Jira
We’ve removed the following polyfills provided by the atlassian-frontend-runtime-plugin
:
escape-css-selector-polyfill
and it'll be removed completely in Jira 9.3.0.atlassian-frontend-runtime-plugin
is regenerator-runtime
, and it will be removed in the next Jira version.
Decoupling of reports from Agile board and backlog views
We’ve reduced the sizes of Agile backlog and board views by ~700 kB. We’ve untangled and decoupled Agile reports resources from the rest by removing gh-chart-dependencies
and jira-agile-reports
from the gh-rapid
web resource. Instead of having these dependencies preloaded, we now load them only when a user transitions to reports-related views.
ご確認いただきたい内容
As part of already implemented and planned changes, we’ve modified multiple AMD module names, which start with jira-agile/
. If you’re using those in your apps, you’ll need to adjust module names to ensure that your applications work correctly. The updates mainly entail changing kebab-case to PascalCase convention. Global variables are left intact. However, as they are also non-API parts, we don’t recommend using them.
You can read more about the changes and why we decided to proceed with the current approach in Jira DC Front-end API Announcement.
We plan some changes to modules in the upcoming Jira versions. If there are any important modules that you think should remain unchanged, let us know about your use case and particular module here: JSWSERVER-21430 - Getting issue details... STATUS
We’ll take it into consideration while working on further changes.
バックグラウンド処理のパフォーマンスを改善
Status: IMPLEMENTED ( 01)
App: JIRA SERVICE MANAGEMENT
The Pretty Simple Message Queue (PSMQ) comes with another performance improvement. This time we've optimized some code areas, which helps achieve better instance stability and application scaling.
変更には次が含まれます。
- データベース呼び出しの回数を減らすために、メッセージ キューのプロパティ テーブルの呼び出しを削除しました。
- dropped message priority from the API and queries (this column is not being used in code.)
この変更によって、キューにある最大 100K 件のメッセージの PMSQ 処理時間が次のように改善されました。
- メッセージ処理のパフォーマンスが ~20% 向上 (20 スレッド)
- メッセージ処理のパフォーマンスが ~65% 向上 (5 スレッド、既定の設定)
Pickers improvements
Status: IMPLEMENTED ( 01)
App: JIRA SOFTWARE
Following the changes introduced in the project picker behavior in Jira 8.21, we’ve made adjustments to other dropdown menus in the app. Instead of initially loading all the available items for a particular picker, we now only display 100 items on the list. The search input is used to query the backend for the results matching the provided query.
This change improves rendering time when creating or editing an issue as well as using Component, Priority, and Version pickers in basic search mode. It also allows our customers to remain performant at scale even when the number of items to render is growing.
Changes and additions to the API
We’ve added new endpoints that allow querying versions, components, issue types, resolutions, statuses, and priorities. All new endpoints return paginated results to limit the response size of potentially large collections of items.
Check out the list of new endpoints:
ヘルプ センターのお知らせの改善
Status: IMPLEMENTED ( 01)
App: JIRA SERVICE MANAGEMENT
We’ve fixed the displaying behavior of the announcement banner in the cases where it’s translated or deleted on the help center and customer portal. So, you can be sure that your changes to the banner will be displayed correctly or that no banner will be displayed if you delete it.
Now, if at least one language—other than the default one—is enabled, you can manage announcement translations on the Project settings page in the Language support section. You’ll see a link to the page where you can manage translations when editing announcements.
ヘルプ センターまたはカスタマー ポータルのお知らせバナーを削除すると、システムによって添付されている翻訳があるかを確認されます。翻訳がある場合は、削除されたフィールドの翻訳がクリアされて、変更を確認するための警告メッセージが表示されます。
ヘルプ センターまたはカスタマー ポータルのお知らせバナーを更新しても、システムによって既存の翻訳は保持されます。ただし、翻訳が存在する場合は、既存の翻訳をレビューするようにリマインダーの警告メッセージが表示されます。
これによって、バナーの内容に矛盾が生じるのを防いで、バナーが削除された場合でもヘルプセンターやカスタマー ポータルに表示されないようにします。
初期設定でこの機能は有効になっています。機能フラグは sd.help.center.announcement.improvements
です。
Insight accessibility and enhancements
Status: IMPLEMENTED ( 01)
App: JIRA SERVICE MANAGEMENT
In Jira 5.2, we’ve fixed 15 critical accessibility bugs in Insight that are related to:
- Custom field rendering in the customer portal
- Object schema view
- IQL search component
- Activity (comments list) component
- Detail view (object list) component
- Related Jira issues component on the Overview tab
We’ve also fixed 11 issues pertaining to:
- Consistency improvements across buttons, headings, breadcrumbs, and badges for the object schema view
- Newly created objects are now automatically selected for custom fields in the Jira issue view
- Custom field rendered in customer portal is modernized with React
- Fixed page layout on smaller screens in the schema configuration view
- Graph dialog:
- On the Graph tab, moved the Lock force graph in place button to a toggle under the Configure section
- Changed checkboxes to toggles to better reflect states
ご確認いただきたい内容
We don’t have feature flags for the majority of fixes. Due to the pervasive nature of the accessibility issues and the small scope of most changes, adding feature flags would result in extra complexity.
So far, there’s only one new feature flag introduced: insight.cf.react.on.cp
. It’s used for the component that was rewritten from the legacy stack into React. See this ticket for details: JSDSERVER-11439 - Getting issue details... STATUS
The insight.cf.react.on.cp
feature flag was introduced due to the potential risk from the rewrite and is turned on by default.
Insight database query batching
Status: IMPLEMENTED ( 01)
App: JIRA SERVICE MANAGEMENT
Database queries executed during imports to Insight are now batched to improve the health of your Jira instance and overall import performance. Batching means that all data for each query is retrieved at once, instead of many individual select queries.
- Batch queries save the history data.
- The delete operations are batched up instead of being done one by one for attribute values.
- The insert and update operations are batched up not to execute one query for every attribute change.
- This feature impacts all imports from all sources by optimizing the database queries that are being executed to batch them together for an object where possible.
The feature is disabled by default. You can enable it with the following feature flags: insight.attribute.bulk.delete
and insight.attribute.creation.optimisation
.