User Interface plugin modules
Build Lifecycle plugin modules
Notification plugin modules
System plugin modules

Pre-Job Action module

Available:

Bamboo 2.7 and later

Purpose of this Module Type

Pre-Job Action modules allow plugins to define custom functionality that runs on the server before the Job is queued. This module shares similarities but differs from the Pre-Build Queued Action because it gives access to both the StageExecution and BuildContext rather than just the BuildContext.

Configuration

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

Attributes

Name

Description

class

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.

key

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

name

The human-readable name of the plugin module.

Only used in the plugin's administrative user interface.

*class and key attributes are required.

Elements

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

Name

Description

description

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.

Interface

Pre-Job Action modules must implement the PreJobAction interface.

Example

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

1
2
<atlassian-plugin name="Hello World" key="example.plugin.helloworld">
    <plugin-info>
        <description>A Pre-Job Action module type test</description>
        <vendor name="Atlassian Software Systems" url="http://www.atlassian.com"/>
        <version>1.0</version>
    </plugin-info>

    <preJobAction key="myPreJobAction" class="com.atlassian.example.bamboo.actions.MyPreJobAction">
        <description>Modifies the Job before it is queued</description>
    </preJobAction>
</atlassian-plugin>

Rate this page: