Last updated Mar 13, 2024

Bamboo API Changes for Bamboo 2.2

Bamboo 2.2 includes a significant rework of Bamboo's notifications, brand new Elastic Bamboo as well as new plugin points and additional Remote API. Whilst we have tried very hard to ensure backwards compatibility this release, there may be unforeseen changes. If there is anything we have missed please let us know so we can keep this information up-to-date.

Notifications

We have deprecated the old NotificationCondition plugin point, though old notification plugins will still work. The replacement plugin points allow for much greater flexibility. You can find more information on building a new notification plugin here: Building a Notification Plugin.

We have also added the ability to customise your notifications by editing the Freemarker Templates.

Elastic Bamboo

Whilst adding in Elastic Bamboo functionality we have altered the way we deal with Agents and Capability sets. In particular the BuildAgent interface has lost the getCapabilitySet() method. Instead you retrieve CapabilitySets via the following:

1
2
CapabilitySet capabilitySet = CapabilitySetProvider.getAgentCapabilitySet(buildAgent);

or

1
2
CapabilitySet capabilitySet = CapabilitySetProvider.getAgentCapabilitySet(pipelineDefinition);

Variable Substitution Bean

To allow greater access to the VariableSubstitutionBean (e.g on remote/elastic agents) we have altered the interfaces in this class. See the javadocs for full details of the new API.

As a quick summary the following methods are no longer available

1
2
public String[] substituteBambooVariables(String[] commandLine, String buildPlanKey, BuildLogger buildLogger, Map<String,String> customBuildData) 

public String   substituteBambooVariables(String unparsedString, String buildPlanKey, BuildLogger buildLogger, Map<String,String> customBuildData) 

They have been replaced with the following options

1
2
public String substituteBambooVariables(@Nullable final String commandLine)

public String substituteBambooVariables(@Nullable final String commandline, @Nullable final BuildContext buildContext, final BuildLogger buildLogger)

public String[] substituteBambooVariables(final String[] commandLine, @Nullable final BuildContext buildContext, final BuildLogger buildLogger)

public String substituteBambooVariables(@Nullable final String commandLine, @Nullable final BuildResults buildResults, final BuildLogger buildLogger)

New Plugin Points

REST API

There have been a number of additions to our Rest API. The main ones include addition of methods to interact and manager your elastic instances. Rest API documentation is now at Bamboo REST APIs.

Rate this page: