Last updatedDec 8, 2017

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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<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:

1
2
3
4
5
6
7
8
9
10
<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:

1
2
3
4
5
6
7
8
9
<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>