Available: | Bamboo 2.7 and later |
The Capability Type Module is used for registering custom capabilities for your Bamboo plugin.
You may want to use this module to:
The root element for the Capability Type module is capabilityType. It allows the following attributes and child elements for configuration:
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. Required: yes Default: - |
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.
In the example, Required: yes Default: N/A |
name | The human-readable name of the plugin module. Only used in the plugin's administrative user interface. Required: - Default: - |
sortOrder | Defines the order that the capability will be displayed on the user interface. This value must be unique. Required: yes Default: - |
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. Required: - Default: - |
resource | Using the "edit" attribute it is possible to provide a custom template for editing your capability or capabilities Required: - Default: - |
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.
Here is an example atlassian-plugin.xml
file containing a Capability Type module:
1 2<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:
1 2[@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]
Rate this page: