Child pages
  • API Changes in Structure 2.5

This documentation relates to an older version 2.8 of the Structure Plugin for JIRA. View the current documentation home.

Skip to end of metadata
Go to start of metadata

1. Javascript API Release

In this release we're adding JavaScript API to customize client-side functionality of Structure. As of Structure 2.5, it allows to create custom column types for the Structure widget. Please refer to Structure JavaScript API Reference for more information.

2. Minor Java API Release

Structure API has been expanded — we've added support for custom columns for the Structure widget. This part of the API should supply the necessary data to the JavaScript API.

JIRA Version

New API Version

5.x

7.6.0

6.x

8.2.0

See Structure API Versions for full version information and downloads.

3. Compatible Changes in the Java API

3.1. New package com.almworks.jira.structure.api.column

This package allows to define components that support custom columns. You can extend data fields that are provided to the Structure widget (data subpackage), and how the values are exported to Excel and printable format (export, excel, and printable subpackages.)

3.2. New package com.almworks.jira.structure.api.aggregate

This package allows to implement a custom column that aggregates values over structure through the means of implementing the Aggregate interface. There's a caching layer, so values will be recalculated only for the changed issues and all dependent issues.

Notably, progress aggregates such as the Progress Column are now implemented through this package (see progress subpackage.)

3.3. Deprecated classes

ProgressCalculator and ProgressInfo classes are now deprecated; their counterparts from the new aggregate package – AggregateCalculator and progress.ProgressAggregateFactory – should be used instead. The latter supports the new, highly customizable Progress Column.

3.4. Other changes

  • We've added methods for the new kinds of columns to ViewSpecification.
  • Due to the ability to rename projects in JIRA 6, we've added project ID-based methods to StructureConfiguration.
  • We've added new functions to extract data from JIRA issue to JiraFunc. They make for easy implementation of the new kinds of columns for a specific JIRA issue field.

4. New Plugin Module Types

To extend Structure with new columns, you need to declare the extending components in your atlassian-plugin.xml using the new module types – structure-widget-extension, structure-issue-data-provider and structure-export-renderer-provider. See Structure Plugin Module Types for reference or the Status Bar Column Plugin for an example.