The project Users and Roles page is empty after upgrading Jira
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
The content on this page relates to platforms which are not supported by JIRA. Consequently, Atlassian can not guarantee providing any support for it. Please be aware that this material is provided for your information only and using it is done so at your own risk.
Summary
After upgrading Jira to 8.13.x (or from any 7.x version to 8.13 or 8.20) the page Project Settings > Users and roles does not load anymore for any Jira project — the page is blank/empty:
Environment
8.13 to 8.22
Diagnosis
- The issue occurred after an upgrade from Jira 7.x to Jira 8.x
- When checking the HAR file generated while replicating the issue, we can see that some HTTP requests return with the 500 code and the error ERR_ABORTED
Any URL that is failing to load contains a tilde character "~" in it. For example:
<JIRA_BASE_URL>/s/d27bf4a7fd231141fbb903ac4e824e6b-CDN/i62ch9/813009/1am8j4d/4.13.9-REL-0021/_/download/batch/com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88/com.atlassian.servicedesk.frontend-webpack-plugin:split_vendors~linked-incidents-panel~sd.confluence.cloud.config~sd.incident.management.counter~sd.itsm.ops~25d1be88.js?locale=en-US
- When checking the Jira application logs, no error is thrown
- When checking the Tomcat access logs located in <JIRA_INSTALL>/logs/access_log.YYYY-MM-DD , we can see that these HTTP request are missing from there, which means that these requests never reached the Jira application and that something between the Browser and Jira blocked them
Cause
Recent Jira versions (around 8.x) introduced the usage of the tilde characters "~" in some HTTP requests sent by the browser to load resources which are necessary to render the Project Users and Roles page (which was not the case in older Jira versions). Some reverse proxy servers are known to block URLs which contain special characters such as "~" (to prevent code injection from happening).
One example of such proxy server is SiteMinder. As per the page How BadURLChars, BadQueryChars and BadFormChars settings work, SiteMinder will block by default any URL containing special characters such as the tilde, the backward slash character, etc...
Solution
Change the reverse proxy settings to allow URLs containing the tilde character. In the example of SiteMinder, remove "~" from the BadURLChars configuration.
Please note the removal of the tilde character "~" is performed on the Proxy configuration side. It's not any config in Jira UI, Jira's config files or Jira's database.