This documentation relates to an earlier version of Bamboo.
View

Unknown macro: {spacejump}

or visit the current documentation home.

Available:

Bamboo 2.7 and later

On this page:

Purpose of this Module Type

The Capability Type Module is used for registering custom capabilities for your Bamboo plugin.

You may want to use this module to:

  • Provide a human readable name for your plugins capability
  • Provide custom template for editing the capability
  • Group multiple yet related capabilities. For example, Bamboo uses this module for its Mercurial support to define both the Mercurial and SSH executables used by Mercurial

Configuration

The root element for the Capability Type module is capabilityType. It allows the following attributes and child elements for configuration:

Attributes

Name

Required

Description

Default

class

(tick)

Unable to render {include} The included page could not be found.

 

key

(tick)

Unable to render {include} The included page could not be found.

N/A

name

 

Unable to render {include} The included page could not be found.
Only used in the plugin's administrative user interface.

 

sortOrder

(tick)

Defines the order that the capability will be displayed on the user interface. This value must be unique.

 

Elements

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

Name

Required

Description

Default

description

 

Unable to render {include} The included page could not be found.
Use this element to describe the section.

 

resource

 

Using the "edit" attribute it is possible to provide a custom template for editing your capability or capabilities

 

Interface

Capability Type modules must implement the AbstractCapabilityTypeModule class.

By implementing the CapabilityDefaultsHelper interface on your CapabilityTypeModule the interface makes the auto-detection of capabilities possible via the addDefaultCapabilities method.

Example

Here is an example atlassian-plugin.xml file containing a Capability Type module:

 
<atlassian-plugin name="Hello World" key="example.plugin.helloworld"> 
  <plugin-info> 
    <description>My Capability Type module type test</description> 
    <vendor name="Atlassian Software Systems" url="http://www.atlassian.com"/> 
    <version>1.0</version> 
  </plugin-info> 

  <capabilityType key="myCapabilityTypeModule" name="My Capability Type Module" class="com.atlassian.example.MyCapabilityTypeModule" sortOrder="1000">
    <description>A Custom Capability Type</description>
    <resource type="freemarker" name="edit" location="/com/atlassian/example/editMyCapability.ftl"/>
  </capabilityType>
</atlassian-plugin> 

Here is an example of an "edit" template used in Bamboos Mercurial support:

[@ww.select labelKey='agent.capability.type.system.hg.executable.key' name='executableKind' list=capabilityType.executableTypes listKey='key' listValue='value' toggle='true' /]
[#list capabilityType.executableTypes.keySet() as executableTypeKey]
    [@ui.bambooSection  dependsOn='executableKind' showOn=executableTypeKey]
        [@ww.textfield labelKey='agent.capability.type.system.hg.executable.value' name=executableTypeKey description=capabilityType.getExecutableDescription(executableTypeKey)/]
    [/@ui.bambooSection]
[/#list]
  • No labels