Cannot apply license to Jira Data Center

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. 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

Summary

When applying a Jira license via the page ⚙ > Applications > Versions & licenses, there are situations when the progress bar goes back and forth indefinitely or the message "Your Jira Core license will be impacted by this change" appears on the screen. At times, there will not be any error message but the usual message "Updating License Key" stays on the UI but progress stalls.

Diagnosis

  • The UI shows "Updating license key..."

  • The progress bar goes back and forth indefinitely.

  • In some scenarios, the message "Your Jira Core license will be impacted by this change" is displayed.

  • In the application logs, warnings or errors similar to the following ones are logged:

    • Example 1

      1 2 2021-05-03 09:08:58,389-0400 https-jsse-nio-8443-exec-21 url: /rest/plugins/applications/1.0/installed/jira-software/license; user: test WARN n2114d 548x334350x1 1phcuyt 192.170.xx.xx,192.168.xx.xx /rest/plugins/applications/1.0/installed/jira-software/license [c.a.u.l.internal.impl.PluginLicenseRepositoryImpl] Unexpected error decoding stored license for 'com.onresolve.jira.groovy.groovyrunner': java.lang.ClassCastException: com.atlassian.upm.license.internal.HostApplicationLicense cannot be cast to com.atlassian.upm.license.internal.HostApplicationLicense 2021-05-03 09:08:58,389-0400 https-jsse-nio-8443-exec-21 url: /rest/plugins/applications/1.0/installed/jira-software/license; user: test WARN n2114d 548x334350x1 1phcuyt 147.xx.xx.xx,146.xx.xx.xx /rest/plugins/applications/1.0/installed/jira-software/license [c.a.u.l.internal.impl.PluginLicenseRepositoryImpl] Unexpected error decoding stored license for 'com.innovalog.jmcf.jira-misc-custom-fields': java.lang.ClassCastException: com.atlassian.upm.license.internal.HostApplicationLicense cannot be cast to com.atlassian.upm.license.internal.HostApplicationLicense
    • Example 2

      1 2 3 4 5 6 2021-02-24 06:18:25,758+0100 http-nio-8080-exec-29 ERROR test 378x582x1 sdffsd 192.170.xx.xx,192.170.xx.xx /rest/plugins/applications/1.0/installed/jira-software/license [c.a.p.r.c.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service: com.atlassian.upm.api.util.Option$Some cannot be cast to com.atlassian.upm.api.util.Option java.lang.ClassCastException: com.atlassian.upm.api.util.Option$Some cannot be cast to com.atlassian.upm.api.util.Option at com.atlassian.upm.license.internal.impl.PluginLicenseRepositoryImpl.getCachedLicense(PluginLicenseRepositoryImpl.java:339) at com.atlassian.upm.license.internal.impl.PluginLicenseRepositoryImpl.getPluginLicense(PluginLicenseRepositoryImpl.java:149) at com.atlassian.upm.license.DataCenterCrossgradeablePluginsImpl.crossgradeNeeded(DataCenterCrossgradeablePluginsImpl.java:48) at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174)
    • Example 3

      1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2021-04-09 08:46:01,858 http-nio-8080-exec-10360 url: /jira/rest/greenhopper/1.0/xboard/issue/details.json; user: exxevl ERROR et0hevl 526x82536599x5 1rrm4pw 192.168.xx.xx,192.168.xx.xx /rest/greenhopper/1.0/xboard/issue/details.json [web.rapid.issue.IssueResource] Unable to complete GreenHopper REST method java.lang.ClassCastException: class com.atlassian.upm.api.util.Option$4 cannot be cast to class com.atlassian.upm.api.util.Option (com.atlassian.upm.api.util.Option$4 is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @60fd5754; com.atlassian.upm.api.util.Option is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @cf18e4c) at com.atlassian.upm.license.internal.impl.PluginLicenseRepositoryImpl.getCachedLicense(PluginLicenseRepositoryImpl.java:339) at com.atlassian.upm.license.internal.impl.PluginLicenseRepositoryImpl.getPluginLicense(PluginLicenseRepositoryImpl.java:149) at com.atlassian.upm.license.internal.impl.PluginLicenseManagerImpl.getLicense(PluginLicenseManagerImpl.java:45) at jdk.internal.reflect.GeneratedMethodAccessor711.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56) ... at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) at com.sun.proxy.$Proxy5603.getLicense(Unknown Source) at net.seibertmedia.agilehive.management.license.DefaultLicenseService.checkLicense(DefaultLicenseService.java:27) at net.seibertmedia.agilehive.management.license.BestMatchLicenseStrategy.lambda$checkLicense$1(BestMatchLicenseStrategy.java:26)
    • Example 4

      1 2 3 4 5 6 7 8 9 10 11 12 13 14 2021-06-11 04:33:59,719+0000 http-nio-8080-exec-105 ERROR [o.a.c.c.C.[.[localhost].[/].[default]] Servlet.service() for servlet [default] in context with path [] threw exception java.lang.ClassCastException: class com.atlassian.upm.api.util.Option$Some cannot be cast to class com.atlassian.upm.api.util.Option (com.atlassian.upm.api.util.Option$Some is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @3ca3df9e; com.atlassian.upm.api.util.Option is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @3c8d7e0c) at com.atlassian.upm.license.internal.impl.PluginLicenseRepositoryImpl.getCachedLicense(PluginLicenseRepositoryImpl.java:339) at com.atlassian.upm.license.internal.impl.PluginLicenseRepositoryImpl.getPluginLicense(PluginLicenseRepositoryImpl.java:149) at com.atlassian.upm.license.internal.impl.PluginLicenseManagerImpl.getLicense(PluginLicenseManagerImpl.java:45) at jdk.internal.reflect.GeneratedMethodAccessor447.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) ... at com.itlab.jira.plugins.extender.helper.LicenseHelper.isLicenseIsValid(LicenseHelper.java:29) at com.itlab.jira.plugins.extender.helper.ToolsHelper.isLicenseIsValid(ToolsHelper.java:212) at com.itlab.jira.plugins.extender.FilterContextUser.doFilter(FilterContextUser.java:217)

      Note the apps reported in the errors, for example:

      • net.seibertmedia.jira.plugins.autopage (AutoPage - Automated Page Creation)

      • com.itlab.jira.plugins.extender (Extender for JIRA)

    • Example 5:

      Plugin related errors

      1 /rest/plugins/applications/1.0/installed/jira-software/license [c.a.u.l.internal.impl.PluginLicenseRepositoryImpl] Unexpected error decoding stored license for 'com.wittified.atl-announcer-jira': java.lang.ClassCastException: class com.atlassian.upm.license.internal.HostApplicationLicense cannot be cast to class com.atlassian.upm.license.internal.HostApplicationLicense (com.atlassian.upm.license.internal.HostApplicationLicense is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @3bdd2174; com.atlassian.upm.license.internal.HostApplicationLicense is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @29f7ead)
      1 /rest/plugins/applications/1.0/installed/jira-software/license [c.a.u.l.internal.impl.PluginLicenseRepositoryImpl] Unexpected error decoding stored license for 'com.onresolve.jira.groovy.groovyrunner': java.lang.ClassCastException: class com.atlassian.upm.license.internal.HostApplicationLicense cannot be cast to class com.atlassian.upm.license.internal.HostApplicationLicense (com.atlassian.upm.license.internal.HostApplicationLicense is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @3bdd2174; com.atlassian.upm.license.internal.HostApplicationLicense is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @29f7ead)

      Here the above code blocks are reporting problems for the following plugins:

  • Announcer for Jira ('com.wittified.atl-announcer-jira')

  • ScriptRunner for Jira ('com.onresolve.jira.groovy.groovyrunner')

Cause

Some 3rd party add-ons are preventing the Jira license from being updated.

There are other reasons like the interference from Proxy/Load balancer that causes a hung state. Please refer the KB article Jira license fails to update, stalls with message 'Updating license key' for resolution steps in such cases.

Solution

Safe mode method

The trick is to find which 3rd party add-on(s) are causing this issue. One way to figure it out is to:

  1. Enable Safe mode

  2. Check if the issue goes away

  3. if the issue goes away, then re-enable each 3rd party add-on 1 by 1, until the issue occurs again, then the last add-on you enabled is the culprit

  4. Inspect the StackTrace for any custom plugin

Note: Some admins found that one of the following add-ons was the culprit and needed to be disabled (or un-installed if disabling it was not enough to fix the problem):

We also observed some additional problematic plugins that might interrupt updating the license key in Jira and here are a few more:

Update the license via API method

How to retrieve application license details or set the license via private REST API in Jira 7+ .

Note: Update via API method may not work if there are URL restrictions or URL redirects are in place. Please refer to the KB article Browser redirects other applications to HTTPS when using the same domain/subdomain as Jira for details on removing HTTP to HTTPS redirect.

Retrying on a different browser

We had reports of the error from example 2 being bypassed by retrying the license update.

  • For that simply close the browser and retry it on a new window/tab.

Update the license via the Jira Database

⚠️ Requires Jira to be restarted.

Another way to update a Jira license without having to disable each 3rd party add-on 1 by 1 is to do via the Jira Database. Please refer to the KB article How to manage Jira server license using database queries for more details about this solution.

Updated on April 2, 2025

Still need help?

The Atlassian Community is here for you.