This page last changed on Jun 05, 2005 by keith@atlassian.com.

A report plugin module defines a report within JIRA. Reports have HTML results, and optionally Excel results as well. These results are rendererd by Velocity templates included with the plugin. A report can also take in parameters selected by the user before running.

Here is a sample report plugin module definition:

<!--
The "class" attribute here defines the actual report object. 
This is an implementation of com.atlassian.jira.plugin.report.Report. 
There is also an abstract implementation which may be useful at 
com.atlassian.jira.plugin.report.impl.AbstractReport.
-->
<report key="time-tracking" name="Time Tracking Report"
    class="com.atlassian.jira.plugin.report.impl.TimeTrackingReport">
    <description key="report.timetracking.description">
        This report shows the time tracking details for a specific project.
    </description>

    <!-- the label of this report, which the user will use to select it -->
    <label key="report.timetracking.label" />

    <!-- the 'view' template is used to render the HTML result -->
    <resource type="velocity" name="view" 
        location="templates/plugins/jira/reports/time-tracking-report.vm" />
    <!-- 
        The 'excel' template is used to render an Excel result. 
        The 'Excel view' of the report will only be visible if 
        this template exists for the plugin module 
    -->
    <resource type="velocity" name="excel" 
        location="templates/plugins/jira/reports/time-tracking-report-excel.vm" />

    <!-- this is a .properties file containin the i18n keys for this report -->
    <resource type="i18n" name="i18n" 
        location="com.atlassian.jira.plugins.reports.timetracking" />

    <!-- the properties of this report which the user must select before running it -->
    <properties>
        <property>
            <key>versionId</key>
            <name>common.concepts.version</name>
            <description>report.timetracking.version.description</description>
            <!-- valid types are string, text, long, select, date -->
            <type>select</type>
            <!-- the values generator is a class which will 
            generate values for this select list -->
            <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>
</report>

For more details, see the How to create a JIRA Report.

Document generated by Confluence on Oct 06, 2009 00:31