Reporting on Structure for Jira (from almworks)

We are using Structure for Jira (from almworks), to organize our work. I want to build reports in EazyBI that would use the Structure board name as a dimension. Has anyone built dimensions from the data in Structure?

Thanks.

How is Structure storing the data in issues? Is it at all? We have been doing reporting based on Epics that Portfolio uses for similar purpose (I think), but not sure how Structure does it. In essence either you can use the custom fields in Jira import to define new dimensions (e.g. if the board name is stored on the issue itself in a custom field) or you can try to use Excel to add new dimensions based on links between issues and the boards.

Hi,

Here follows an example of how to build the dimension using the Structure board name. For this example to work, you need to use a scripted field of the Scriptrunner add-on accessing the list of structures where an issue belongs to (Text Field):

package examples.docs.structure

import com.almworks.jira.structure.api.permissions.PermissionLevel
import com.almworks.jira.structure.api.StructureComponents
import com.onresolve.scriptrunner.runner.customisers.PluginModule
import com.onresolve.scriptrunner.runner.customisers.WithPlugin

@Grab(group = 'com.almworks.jira.structure', module = 'structure-api', version = '16.0.0')
@WithPlugin("com.almworks.jira.structure")
@PluginModule
StructureComponents structureComponents

def structureManager = structureComponents.getStructureManager()
def structures = structureManager.getViewableStructuresWithIssue(issue.id)
def structureList = []
structures.each {structure ->
		structureList.add(structure.name)
}
structureList.join(",")

There might be other and better ways to generate the list of Structure names for an issue. Once we have the list of Structure names in a custom field, use the following advanced settings to import the Structure names as a dimension in eazyBI (NNNNN is the custom field ID in Jira):

[jira.customfield_NNNNN]
data_type = "string"
dimension = true
multiple_values = true
split_by = ","

Best regards,
Janis, eazyBI support

1 Like

Thank you, Janis. This has been a big help!