Pre-Chain Action Module


Bamboo 2.7 and later

On this page:

Purpose of this Module Type

Pre-Chain Action modules allow plugins to define custom functionality that runs before the Plan executes. The module provides access to the Chain object and the ChainExecution.


The root element for the Pre-Chain Action module is preChainAction. It allows the following attributes and child elements for configuration:





The class which implements this plugin module. The class you need to provide depends on the module type. For example, Confluence theme, layout and colour-scheme modules can use classes already provided in Confluence. So you can write a theme-plugin without any Java code. But for macro and listener modules you need to write your own implementing class and include it in your plugin. See the plugin framework guide to creating plugin module instances.


The unique identifier of the plugin module. You refer to this key to use the resource from other contexts in your plugin, such as from the plugin Java code or JavaScript resources.

<component-import key="appProps" interface="com.atlassian.sal.api.ApplicationProperties"/>

In the example, appProps is the key for this particular module declaration, for component-import, in this case.


The human-readable name of the plugin module.

Only used in the plugin's administrative user interface.

*class and key attributes are required.


The table summarises the elements. The sections below contain further information.




The description of the plugin module. The 'key' attribute can be specified to declare a localisation key for the value instead of text in the element body.

Use this element to describe the section.


Pre-Chain Action modules must implement the PreChainAction interface.


Here is an example atlassian-plugin.xml file containing a Pre-Chain Action module:

<atlassian-plugin name="Hello World" key="example.plugin.helloworld">
        <description>A Pre-Chain action module type test</description>
        <vendor name="Atlassian Software Systems" url=""/>

    <preChainAction key="myPreChainAction" class="com.atlassian.example.bamboo.actions.MyPreChainAction">
        <description>Sets up the MyBambooPlugin if the Chain has the plugin enabled</description>
Was this page helpful?

Have a question about this article?

See questions about this article

Powered by Confluence and Scroll Viewport