Jira Software 11.0 and Jira Service Management 11.0 EAP 04 is now available

@RobertKlimkiewicz any update on my question? We’re not able to run Jira Software.

Hi @RobertKlimkiewicz, @bcinarli and whole Atlassian Stuff,

I was trying to use recent platform-public-api-8.0.0-m16.pom and guess what’s happened? Right, building process had failed with the next error:

... Could not collect dependencies for project ... 
Caused by: The following artifacts could not be resolved:
    ... com.atlassian.upm:licensing-api:pom:8.0.0-m006 (absent)
    ... com.atlassian.upm:upm-api:pom:8.0.0-m006 (absent)
    ... com.atlassian.security:atlassian-password-encoder:pom:7.0.0-m014 (absent)
    ... com.atlassian.security:atlassian-secure-random:pom:7.0.0-m014 (absent)
    ... com.atlassian.security:atlassian-secure-xml:pom:7.0.0-m014 (absent)
    ... com.atlassian.security:atlassian-secure-utils:pom:7.0.0-m014 (absent)
    ... com.atlassian.oauth:atlassian-oauth-api:pom:7.0.2 (absent)

I leave this without any hopes to get answered, but I really sure you guys must do something with that systematic problem.

There was an issue with the Jira Agile. Please see: https://jira.atlassian.com/browse/JRASERVER-78888
It is fixed yesterday. The next EAP will have the fix

@pch , seems like that issue was different.

Are you able to reproduce it?

Hi Atlassian Team,

on all EAP versions the log shows a lot of the following entries (env generated by atlas-run)

atlas-version

ATLAS Version:    9.1.1
ATLAS Home:       /Applications/Atlassian/atlassian-plugin-sdk
ATLAS Scripts:    /Applications/Atlassian/atlassian-plugin-sdk/bin
ATLAS Maven Home: /Applications/Atlassian/atlassian-plugin-sdk/apache-maven-3.9.8
AMPS Version:     9.1.1
--------
Executing: /Applications/Atlassian/atlassian-plugin-sdk/apache-maven-3.9.8/bin/mvn --version -gs /Applications/Atlassian/atlassian-plugin-sdk/apache-maven-3.9.8/conf/settings.xml
Apache Maven 3.9.8 (36645f6c9b5079805ea5009217e36f2cffd34256)
Maven home: /Applications/Atlassian/atlassian-plugin-sdk/apache-maven-3.9.8
Java version: 21.0.6, vendor: Eclipse Adoptium, runtime: /Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "15.5", arch: "aarch64", family: "mac"

pom.xml

<jira.version>11.0.0-m0003</jira.version> or <jira.version>11.0.0-m0011</jira.version>
<platform.version>8.0.0-m17</platform.version>
<amps.version>9.3.6</amps.version> or <amps.version>9.4.0</amps.version>
2025-06-24 15:55:49,775+0200 pool-33-thread-1 WARN      [o.o.c.entity.transaction.JNDIFactory] NamingException while finding UserTransaction named java:comp/env/UserTransaction in JNDI.
javax.naming.NameNotFoundException: Name [UserTransaction] is not bound in this Context. Unable to find [UserTransaction].
	at org.apache.naming.NamingContext.lookup(NamingContext.java:487)
	at org.apache.naming.NamingContext.lookup(NamingContext.java:147)
	at org.apache.naming.NamingContext.lookup(NamingContext.java:496)
	at org.apache.naming.NamingContext.lookup(NamingContext.java:147)
	at org.apache.naming.NamingContext.lookup(NamingContext.java:496)
	at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
	at org.apache.naming.SelectorContext.lookup(SelectorContext.java:140)
	at java.naming/javax.naming.InitialContext.lookup(InitialContext.java:409)
	at org.ofbiz.core.entity.transaction.JNDIFactory.getUserTransaction(JNDIFactory.java:126)
	at com.atlassian.jira.ofbiz.sql.TransactionFactoryInterfaceWrapper.getUserTransaction(TransactionFactoryInterfaceWrapper.java:31)
	at org.ofbiz.core.entity.TransactionFactory.getUserTransaction(TransactionFactory.java:106)
	at org.ofbiz.core.entity.TransactionUtil.getStatus(TransactionUtil.java:91)
	at org.ofbiz.core.entity.jdbc.SQLProcessor.getConnection(SQLProcessor.java:380)
	at org.ofbiz.core.entity.jdbc.SQLProcessor.prepareStatement(SQLProcessor.java:465)
	at org.ofbiz.core.entity.GenericDAO.createEntityListIterator(GenericDAO.java:875)
	at org.ofbiz.core.entity.GenericDAO.selectListIteratorByCondition(GenericDAO.java:862)
	at org.ofbiz.core.entity.GenericHelperDAO.findListIteratorByCondition(GenericHelperDAO.java:216)
	at org.ofbiz.core.entity.GenericDelegator.findListIteratorByCondition(GenericDelegator.java:1247)
	at org.ofbiz.core.entity.DelegatorInterface$$FastClassByCGLIB$$13914f4e.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:231)
	at com.atlassian.jira.config.component.AbstractDelegatedMethodInterceptor.intercept(AbstractDelegatedMethodInterceptor.java:48)
	at org.ofbiz.core.entity.DelegatorInterface$$EnhancerByCGLIB$$61ad5bc0.findListIteratorByCondition(<generated>)
	at com.atlassian.jira.ofbiz.DefaultOfBizDelegator.findListIteratorByCondition(DefaultOfBizDelegator.java:405)
	at com.atlassian.jira.ofbiz.WrappingOfBizDelegator.findListIteratorByCondition(WrappingOfBizDelegator.java:283)
	at com.atlassian.jira.entity.SelectQueryImpl$ExecutionContextImpl.forEach(SelectQueryImpl.java:227)
	at com.atlassian.jira.entity.SelectQueryImpl$ExecutionContextImpl.visitWith(SelectQueryImpl.java:185)
	at com.atlassian.jira.scheduler.OfBizClusteredJobDao.findAllJobRunnerKeys(OfBizClusteredJobDao.java:124)
	at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.getJobRunnerKeysForAllScheduledJobs(CaesiumSchedulerService.java:272)
	at com.atlassian.scheduler.core.DelegatingSchedulerService.getJobRunnerKeysForAllScheduledJobs(DelegatingSchedulerService.java:57)
	at com.atlassian.diagnostics.internal.platform.monitor.scheduler.DefaultSchedulerDiagnosticProvider.getScheduledJobs(DefaultSchedulerDiagnosticProvider.java:63)
	at com.atlassian.diagnostics.internal.platform.monitor.scheduler.DefaultSchedulerDiagnosticProvider.getDiagnostic(DefaultSchedulerDiagnosticProvider.java:48)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
	at jdk.proxy3/jdk.proxy3.$Proxy748.getDiagnostic(Unknown Source)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)
	at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)
	at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:137)
	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70)
	at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:137)
	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:223)
	at jdk.proxy8/jdk.proxy8.$Proxy1271.getDiagnostic(Unknown Source)
	at com.atlassian.diagnostics.internal.platform.monitor.scheduler.SchedulerPoller.execute(SchedulerPoller.java:37)
	at com.atlassian.diagnostics.internal.platform.poller.ScheduledPollerService.lambda$run$1(ScheduledPollerService.java:81)
	at com.atlassian.jira.util.thread.JiraThreadLocalUtils.lambda$wrap$1(JiraThreadLocalUtils.java:156)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
	at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1583)
2025-06-24 15:55:49,775+0200 pool-33-thread-1 WARN      [o.o.c.entity.transaction.JNDIFactory] [JNDIFactory.getUserTransaction] Failed to find UserTransaction named java:comp/env/UserTransaction in JNDI.

Cheers
Adam

1 Like

Hi Developer Community!
The EAP 04 has been released today, As last time, I’ve updated the main post with new numbers. We’ve skipped the EAP 03 due to internal testing.

What’s new in EAP04?

Happy testing!
Robert from Jira DC

3 Likes

Hi Atlassian Team,

We are currently working on Jira 11 compatibility and are encountering some issues with the velocity allowlist. In our plugin, we are using velocity templates, however, we did not need an allowlist so far as we only use Atlassian class methods, which should be on the global allowlist. With Jira 11, some of these methods no longer get resolved and I get a warning in the logs:

[velocity] Invocation blocked as method is not allowlisted: com.atlassian.jira.plugin.AbstractJiraModuleDescriptor#getName()

I actually expected this method to not need an allow listing, but anyways, I added one in the plugin descriptor:

    <velocity-allowlist key="velocity-allowlist-universal-post-function">
        <method>com.atlassian.jira.plugin.AbstractJiraModuleDescriptor#getName()</method>
    </velocity-allowlist>

Unfortunately, this does not resolve the issue and I still get the same warning. When running the standalone with the additional option -Datlassian.velocity.method.allowlist.debug=true it works, so I assume the allowlisting is indeed the cause of the issue.

Is there something I am missing, or was it a mistake that some Atlassian APIs are no longer allowlisted by default?

Thank you a lot!

Best,
Lina

Hi Lina!

Can you confirm this specific invocation worked for you on 10.x with allowlisting enabled? It looks to me from a quick look as though this method has never been allowlisted. To be clear only a subset of our internal APIs are allowlisted for use by Velocity.

Yes but with a different variations. I think those are already fixed with the latest EAP

Hi @CalumLeslie

Yesterday I tested against Jira 10.3.8 LTS and Jira 11 EAP 4 and in Jira 10 it was still working fine. However, I checked again today with newer Jira versions and indeed, it seems like the issue already appears from Jira 10.5.0. Then I will open a support ticket with Atlassian.

Thank you anyways!

Best,
Lina

@LinaKuhn → thanks for reporting, we were missing this method in the allowlist - I fixed it. Adding the method manually to the plugin xml file only works for methods from the plugin arttifact.

1 Like

@KarolSkwierawski Thank you for adding it to the allowlist! For what versions of Jira can I expect it to be on the global allowlist?

10.7.3, 11.0.0

Hi Atlassian Team,

We are currently using jakarta.inject.Named and jakarta.inject.Inject (migrated from javax.inject...) for dependency injection in our plugins. Since upgrading to the EAP, this approach has stopped working. Is this a known issue on platform 8, or do we need to migrate our code to use @Component and @Autowired annotations instead?

Thanks in advance for your help!

If you are using Spring Scanner, you’ll need to upgrade to the latest version (6x I think?) otherwise your jakarta annotations won’t be scanned.

Might not be this specific problem, but it’s the first thing to check if you haven’t.

1 Like

@rlander So simple! Thanks for your help. :+1: