Builds using Artifactory Jfrog plugin failing after upgrading Bamboo
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
Summary
After upgrading Bamboo Data Center from version 8.2.x to 9.3.0 and the Jfrog plugin to the respective version (v3.3.1), the builds containing Jfrog tasks start failing.
Environment
Bamboo version 9.x.x using Jfrog v3.3.1
Diagnosis
Multiple Jfrog tasks fail when trying to build showing errors on the logs:
2023-06-21 08:51:26,616 ERROR [http-nio-8085-exec-26] [DefaultWebInterfaceManager] Could not evaluate condition 'com.atlassian.plugin.web.conditions.AndCompositeCondition@cb530b7' for descriptor: org.jfrog.bamboo.bamboo-artifactory-plugin:brmpTab:${buildKey}-${buildNumber} (null)
java.lang.IllegalArgumentException: No empty map allowed
at org.jfrog.bamboo.context.PackageManagersContext.createContextFromMap(PackageManagersContext.java:92) ~[?:?]
at org.jfrog.bamboo.release.action.condition.ReleasePromotionActionCondition.shouldDisplay(ReleasePromotionActionCondition.java:46) ~[?:?]
at com.atlassian.plugin.web.conditions.AndCompositeCondition.shouldDisplay(AndCompositeCondition.java:17) ~[atlassian-plugins-webfragment-api-6.0.0.jar:?]
at com.atlassian.plugin.web.DefaultWebInterfaceManager.filterFragmentsByCondition(DefaultWebInterfaceManager.java:184) ~[atlassian-plugins-webfragment-6.0.0.jar:?]
at com.atlassian.plugin.web.DefaultWebInterfaceManager.getDisplayableItems(DefaultWebInterfaceManager.java:138) ~[atlassian-plugins-webfragment-6.0.0.jar:?]
at com.atlassian.bamboo.ww2.BambooActionSupport.getWebItemsForSection(BambooActionSupport.java:458) ~[atlassian-bamboo-web-9.3.0.jar:?]
at jdk.internal.reflect.GeneratedMethodAccessor2206.invoke(Unknown Source) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1553) ~[freemarker-2.3.31-atlassian-2.jar:2.3.31]
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:73) ~[freemarker-2.3.31-atlassian-2.jar:2.3.31]
at freemarker.core.MethodCall._eval(MethodCall.java:75) ~[freemarker-2.3.31-atlassian-2.jar:2.3.31]
at freemarker.core.Expression.eval(Expression.java:101) ~[freemarker-2.3.31-atlassian-2.jar:2.3.31]
[...]
java.lang.NoClassDefFoundError: org/apache/commons/httpclient/HttpMethod
at org.jfrog.bamboo.task.ArtifactoryGenericDeployTask.initTask(ArtifactoryGenericDeployTask.java:68)
at org.jfrog.bamboo.task.ArtifactoryTaskType.execute(ArtifactoryTaskType.java:37)
at com.atlassian.bamboo.task.TaskExecutorImpl.lambda$executeTasks$2(TaskExecutorImpl.java:321)
at com.atlassian.bamboo.task.TaskExecutorImpl.executeTaskWithPrePostActions(TaskExecutorImpl.java:258)
at com.atlassian.bamboo.task.TaskExecutorImpl.executeTasks(TaskExecutorImpl.java:321)
at com.atlassian.bamboo.task.TaskExecutorImpl.execute(TaskExecutorImpl.java:118)
at com.atlassian.bamboo.build.pipeline.tasks.ExecuteBuildTask.call(ExecuteBuildTask.java:73)
at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent.executeBuildPhase(DefaultBuildAgent.java:238)
at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent.build(DefaultBuildAgent.java:210)
at com.atlassian.bamboo.v2.build.agent.BuildAgentControllerImpl.lambda$waitAndPerformBuild$0(BuildAgentControllerImpl.java:168)
at com.atlassian.bamboo.variable.CustomVariableContextImpl.withVariableSubstitutor(CustomVariableContextImpl.java:118)
at com.atlassian.bamboo.v2.build.agent.BuildAgentControllerImpl.waitAndPerformBuild(BuildAgentControllerImpl.java:161)
at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent.lambda$start$0(DefaultBuildAgent.java:155)
Cause
JFrog Artifactory v3.3.1 for Bamboo was released with a defect.
Solution
Jfrog released a hotfix and a new version of the plugin: 3.3.2. The Artifactory Plugin issues are resolved after upgrading the plugin to the newest version.