Follow the guidelines below and see the Known issues section to prepare for the upgrade.
See also
To simplify testing against new Bamboo and maintain backwards compatibility, make sure that the plugin POM imports the component versions from com.atlassian.platform:platform
and com.atlassian.platform:third-party
.
1 2<properties> <bamboo.version>5.9.3<bamboo.version> <platform.version>2.21.3</platform.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>com.atlassian.platform</groupId> <artifactId>platform</artifactId> <version>${platform.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>com.atlassian.platform</groupId> <artifactId>third-party</artifactId> <version>${platform.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
Your dependencies shouldn't override the artifacts versions defined by Java Platform and should use the bamboo.version
property to specify the version of Bamboo to compile against.
1 2<dependencies> <dependency> <groupId>com.atlassian.bamboo</groupId> <artifactId>bamboo-api</artifactId> <version>${bamboo.version}</bamboo.version> <scope>provided</scope> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>com.atlassian.sal</groupId> <artifactId>sal-api</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-library</artifactId> <scope>test</scope> </dependency> </dependencies>
Testing compile-time compatibility with Bamboo is as simple as:
1 2mvn clean test -Dbamboo.version=5.10.0-beta01 -Dplatform.version=3.0.4
To start Bamboo and run integration tests against Bamboo 5.10, AMPS needs to be instructed to run Tomcat 8 as a container with the containerId
configuration parameter:
1 2<build> <plugins> <plugin> <groupId>com.atlassian.maven.plugins</groupId> <artifactId>maven-bamboo-plugin</artifactId> <version>${amps.version}</version> <extensions>true</extensions> <configuration> <productVersion>${bamboo.version}</productVersion> <productDataVersion>${bamboo.data.version}</productDataVersion> <containerId>tomcat8x</containerId> </configuration> </plugin> </plugins> </build>
Then running integration tests is as simple as:
1 2mvn clean integration-test -Dbamboo.version=5.10.0-beta01 -Dplatform.version=3.0.4
In case of more complicated POMs, you might consider using POM profiles to separate dependencies and AMPS configuration.
If your plugin tests contain WebDriver or wired tests, it should use the following dependencies:
1 2<!-- Atlassian Webdriver dependencies --> <dependency> <groupId>com.atlassian.browsers</groupId> <artifactId>atlassian-browsers-auto</artifactId> <version>2.6</version> <scope>test</scope> </dependency> <dependency> <groupId>com.atlassian.selenium</groupId> <artifactId>atlassian-webdriver-core</artifactId> <version>2.3-m8</version> <scope>test</scope> </dependency> <!-- wired test runner dependencies --> <dependency> <groupId>com.atlassian.plugins</groupId> <artifactId>atlassian-plugins-osgi-testrunner</artifactId> <version>1.2.3-bamboo-5</version> <scope>test</scope> </dependency> <dependency> <groupId>javax.ws.rs</groupId> <artifactId>jsr311-api</artifactId> <version>1.1.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.2.2-atlassian-1</version> <scope>provided</scope> </dependency>
If the plugin has no integration test or if you just want to run Bamboo with the plugin loaded, use:
1 2atlas-debug -Dbamboo.version=5.10.0-beta01 -Dplatform.version=3.0.4
The features won't cause any breakages and will be announced with the official Bamboo 5.10 release.
Rate this page: