Skip to content

Backport deployment task support to Bamboo 9.x - #50

Merged
agrasth merged 2 commits into
bamboo-9.xfrom
bamboo-9.x-deployment-task-backport
Aug 14, 2026
Merged

agrasth merged 2 commits into
bamboo-9.xfrom
bamboo-9.x-deployment-task-backport

Conversation

@agrasth

@agrasth agrasth commented Aug 13, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Introduces the bamboo-9.x maintenance line and delivers the customer-requested deployment-project task support on it. The 10.x-only 1.0.6+ releases can't be installed on Bamboo 9.x; this PR produces a 1.0.5.1 build that runs on 9.x and includes the deployment task from #49.

The change is effectively a targeted revert of #27 (0ae9650, "Bamboo 10.x compatibility") applied on top of current main, keeping everything else — the deployment task (#49), admin URL namespace fix (#42), HTTP protocol support, security improvements (#37), and the Maven Central repo (#39).

  • Reverts to Bamboo 9.6.5 / Java 11 / amps 8.13.6 / spring-scanner 3.0.3 in pom.xml.
  • ServerConfigManager back to concrete @Component class with getInstance(), with the log-sanitization fixes from Security Improvements & GitHub Actions Workflows #37 folded in. ServerConfigManagerImpl.java and META-INF/spring/spring-scanner.xml deleted (spring-scanner 3 doesn't need the latter).
  • All @Inject/@ComponentImport annotations removed from JfTask, JfDeploymentTask, JfContext, and both admin actions.
  • JfTask/JfDeploymentTask now fetch ServerConfigManager.getInstance() lazily (only if not already set), so unit tests can inject mocks via the existing setters.
  • Version bumped to 1.0.5.1 so Bamboo 9.x's UPM correctly prefers this over any newer 10.x-only releases.

Test plan

  • mvn test — 9/9 tests passing locally (JfrogServerConfigActionTest 8/8, JfTaskUnitTest 1/1)
  • mvn package — produces bamboo-jfrog-plugin-1.0.5.1.jar (~6 MB, Jackson bundled)
  • Verified plugin bundle declares both JfTask and JfDeploymentTask task types, plus the <component> for ServerConfigManager
  • Install 1.0.5.1.jar on a local Bamboo 9.x instance; confirm the JFrog CLI Task appears in both Build Plan tasks and Deployment Project tasks
  • Configure a JFrog server, run a jf command from a build plan task and from a deployment project task
  • Verify GitHub Actions CI passes on this branch

Notes for reviewers

  • Base branch is bamboo-9.x, not main. Once merged, bamboo-9.x becomes the ongoing 9.x support line; future 9.x fixes should PR into it.
  • The Java-11 target is enforced via maven.compiler.target=11, so CI's JDK 17 still produces 9.x-compatible bytecode.

agrasth and others added 2 commits August 13, 2026 16:56
Creates a Bamboo 9.6.5-compatible line of the plugin that includes the
deployment-project task type added in b75c92b (RTECO-858), the admin URL
namespace fix from 7dc86e3, and the security improvements from bff5c83 —
all restored to work with the pre-10.x runtime.

Reverts 0ae9650 (Bamboo 10.x compatibility):
  * pom: bamboo 9.6.5, Java 11, amps 8.13.6, spring-scanner 3.0.3
  * pom: drop OSGi <instructions>, restore <enableQuickReload>/
    <extractDependencies>, un-provide the Jackson deps so they bundle
  * ServerConfigManager: back to a concrete @component class exposing
    getInstance() via ContainerManager.autowireComponent; folds in the
    bff5c83 log-sanitization fixes; ServerConfigManagerImpl deleted
  * spring-scanner.xml: deleted (not needed by scanner 3.x)
  * atlassian-plugin.xml: restore <component> declaration for
    ServerConfigManager (kept /admin/jfrog namespace + JfDeploymentTask)
  * Actions and tasks: drop @Inject/@ComponentImport annotations;
    JfTask/JfDeploymentTask fetch getInstance() lazily so unit tests can
    still inject mocks via the existing setters

Version bumped to 1.0.5.1 so Bamboo 9.x installations pick this over
the 10.x-only 1.0.6+ releases.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The class is registered as a Spring bean via
<component key="jfrogServerConfigManager" ...> in atlassian-plugin.xml.
Keeping @component in addition caused Spring's annotation scan to
register a second bean under the default name 'serverConfigManager',
producing NoUniqueBeanDefinitionException when JfrogServerConfigAction
and ExistingServersListAction constructor-inject ServerConfigManager
by type.

Removing the annotation makes the bean identity depend on the explicit
XML declaration only. Matches the effective 1.0.5 behaviour, where the
runtime scan activator was absent so @component was inert.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@agrasth
agrasth merged commit 99c7e71 into bamboo-9.x Aug 14, 2026
7 checks passed
@agrasth
agrasth deleted the bamboo-9.x-deployment-task-backport branch August 14, 2026 11:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant