Last updated Dec 8, 2017

Bamboo 5.10 upgrade guidelines

Follow the guidelines below and see the Known issues section to prepare for the upgrade.

See also

Building plugins against custom versions of Bamboo 

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
2
mvn clean test -Dbamboo.version=5.10.0-beta01 -Dplatform.version=3.0.4

Starting Bamboo and running integration tests 

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
2
mvn 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. 

Specific test dependencies

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>

Manual plugin tests

If the plugin has no integration test or if you just want to run Bamboo with the plugin loaded, use:

1
2
atlas-debug -Dbamboo.version=5.10.0-beta01 -Dplatform.version=3.0.4

Features

The features won't cause any breakages and will be announced with the official Bamboo 5.10 release.

Known issues 

Rate this page: