Bamboo 7.0 EAP 01 release notes

This documentation is intended for Bamboo developers who want to ensure that their existing add-ons are compatible with Bamboo 7.0 as Bamboo 7.0 will contain breaking changes.


変更の概要

In this section we're summing up changes we intend to make in Bamboo 7.0, and which are already part of Bamboo 7.0 EAP,  so you can start thinking how it might impact your apps.

Changes to what Bamboo supports

  • Introduce support for Oracle 19

  • Introduce support for MsSQL2017
  • Drop support for Oracle 12R1

  • Drop support for PostgreSQL 9.2, 9.3, 9.4

  • Deprecate PostgreSQL 9.5

  • Deprecate MSSql2012, MSSql2014

  • Deprecate CVS

  • Deprecate JGit 7.0

  • Deprecate Jenkins importer (Bamboo internal plugin)

Spring のアップグレード

As part of our Platform 5 upgrade, we have upgraded Spring framework to 5.1.8.  The main difference that can affect plugins is a change to the default Spring autowiring behaviour from "autodetect" to "constructor". Apps developers should start to use "constructor" injections.


Summary of version upgrades

Bamboo 7.0 is based on Atlassian Platform 5

変更

詳細

Spring 5 への移行

  • spring-core

  • spring-context

  • spring-expression

  • spring-beans

  • spring-tx

  • spring-orm

  • spring-aop

  • spring-web

  • spring-context-support

  • spring-jdbc, spring webmvc
     
    → 5.1.8.RELEASE

Updated third-party libraries for Atlassian Platform 5.0.0 compatibility

  • servlet-api → 3.1.0

  • jaxb → 2.3.0

  • javax.activation → 1.1.1

  • guava → 26.0-jre

  • commons-lang3 → 3.8

Updated all the platform components for Atlassian Platform 5.0.0 compatibility

Known issues with existing plugins

Setters require annotations

It’s required to use constructor injection or @Inject/@Autowired annotation.

See code samples...

The following piece of code will not work anymore in Bamboo 7.0:

private BambooUserManager bambooUserManager;

public void setBambooUserManager(BambooUserManager bambooUserManager) {
   this.bambooUserManager = bambooUserManager;
}

Use the following code instead:

@Autowired
public void setBambooUserManager(BambooUserManager bambooUserManager) {
   this.bambooUserManager = bambooUserManager;
}
public OwnerValidator(BambooUserManager bambooUserManager) {
   this.bambooUserManager = bambooUserManager;
}

Don’t use @Component annotation for classes defined at atlassian-plugin.xml

See code samples...

The following piece of code will not work anymore in Bamboo 7.0:

@Component
public class TestPlanConfiguration extends BaseConfigurablePlugin implements MiscellaneousPlanConfigurationPlugin {}

atlassian-plugin.xml
<additionalBuildConfigurationPlugin key="testPlanConfiguration" name="Test Plan Configuration"
                                    class="com.atlassian.bamboo.config.TestPlanConfiguration">
    <resource type="freemarker" name="edit" location="/templates/planEdit.ftl"/>
</additionalBuildConfigurationPlugin>

Here's the exception in logs this generates:

[DependencyWaiterApplicationContextExecutor] Unable to create application 
context for [com.atlassian.bamboo-test-plugin], 
unsatisfied dependencies: none[INFO] [talledLocalContainer] 
org.springframework.beans.factory.BeanDefinitionStoreException: 
Failed to parse configuration class
[com.atlassian.bamboo.config.TestPlanConfiguration]; 
nested exception is java.io.FileNotFoundException: 
OSGi resource[classpath:com/atlassian/bamboo/v2/build/configuration/MiscellaneousBuildConfigurationPlugin.class
|bnd.id=125|bnd.sym=com.atlassian.bamboo-test-plugin] 
cannot be resolved to URL because it does not exist




最終更新日: 2022 年 12 月 21 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.