You should expect issues in the upgrade process, and for this reason, follow these steps:
Set up the staging environment. This could be a clone of your production. Make sure the license of your JIRA instance is valid.
Create a compatibility matrix of the plugins used. Check whether an upgrade of these plugins is available in the new version. Also, check the licenses of your add-ons.
Check the release notes for bug fixes and possible issues.
Perform the upgrade on staging first.
Perform user acceptance testing (UAT) with limited users first, preferably with the managers or the stakeholders of the company.
Collect the feedback and review it.
For any issues, raise a ticket with Atlassian. If you have a valid license, they will help you out.
Always perform a backup of your JIRA installation directory, JIRA home directory, and your database before upgrading.
There are several different ways to upgrade JIRA. The method you choose to use depends on the version of JIRA you use and the type of environment you use it in.
When JIRA is used in companies where it's mission-critical for the business, then it's recommended to use this method because it will let you roll back safely to your previous working version. Prepare the production instance as follows:
Prepare a proxy server.
Install and test the upgraded version.
Refer to https://confluence.atlassian.com/display/JIRA/Upgrading+JIRA+with+a+Fallback+Method for further information on upgrading JIRA using a fallback method.
If you can afford to have a downtime of several minutes and there is no impact on the business due to the downtime, then it's recommended to use this method, which is quite easy. It just needs you to run the installer again on top of the existing installed application:
Keep a note of custom changes.
Take a backup of your database.
Run the JIRA installer and select the upgrade option.
If you have made any changes in some of the files (such as
Refer to https://confluence.atlassian.com/display/JIRA/Upgrading+JIRA+Using+a+Rapid+Upgrade+Method for further information on upgrading JIRA using an RAD method.
With the rapid method, you can easily upgrade JIRA. However, there are certain cases where you cannot use the installation binary. For example, if you want to install JIRA on Solaris, then there are no supported binaries from Atlassian, but you can use the following method with the Web Application Archive (WAR) distribution file to install JIRA on Solaris:
Take a backup of your database and the JIRA installation directory.
Install the new version.
Point your newly installed JIRA instance to a copy of JIRA's existing home directory.
Configure the new version of JIRA to use a new blank database.
Finally, import your JIRA's old data with the restore feature in the newly installed JIRA's instance.
Refer to https://confluence.atlassian.com/display/JIRA/Upgrading+JIRA+Manually for further information on upgrading JIRA manually.