Configuring Plugins with Object Configurable Parameters

JIRA Report plugins use the com.atlassian.configurable.ObjectConfigurable class to simplify the process of requesting configuration parameters from users. These parameters are specified in atlassian-plugin.xml as part of the report module. For example, the time tracking report that ships with JIRA has the following input parameters:

<properties>
    <property>
        <key>versionId</key>
        <name>common.concepts.version</name>
        <description>report.timetracking.version.description</description>
        <type>select</type>
        <values class="com.atlassian.jira.portal.VersionOptionalValuesGenerator"/>
    </property>
    <property>
        <key>sortingOrder</key>
        <name>report.timetracking.sortingorder</name>
        <description>report.timetracking.sortingorder.description</description>
        <type>select</type>
        <values class="com.atlassian.jira.portal.SortingValuesGenerator"/>
    </property>
    <property>
        <key>completedFilter</key>
        <name>report.timetracking.filter</name>
        <description>report.timetracking.filter.description</description>
        <type>select</type>
        <values class="com.atlassian.jira.portal.FilterValuesGenerator"/>
    </property>
</properties>

Types

Types are defined in the com.atlassian.configurable.ObjectConfigurationTypes class. Available types are:

Type

Input HTML Type

string

text box

long

text box

select

select box

multiselect

multi-select box

hidden

hidden field

date

text box with calendar pop-up

user

text box with user picker pop-up

text

text area

checkbox

checkbox

cascadingselect

cascading select boxes

Values

Values can be provided by a value provider class that must subclass com.atlassian.configurable.ValuesGenerator. Acceptable values can also be hardcoded into the module descriptor:

<values>
    <value>
        <key>KEY1</key>
        <value>somevalue</value>
    </value>
    <value>
        <key>KEY2</key>
        <value>someothervalue</value>
    </value>
</values>

Defaults

You can specify a default for all types as well:

<default>5</default>
<values>	
        <value><key>1</key><value>1</value></value>
        <value><key>2</key><value>2</value></value>
        <value><key>3</key><value>3</value></value>
        <value><key>4</key><value>4</value></value>
        <value><key>5</key><value>5</value></value>
        ...
</values>
Was this page helpful?

Have a question about this article?

See questions about this article

Powered by Confluence and Scroll Viewport