Replicating a Jira Plan hierarchy in EazyBI

eazyBI does not have full support for Advanced roadmaps (formerly Jira Portfolio) in Cloud. We do not have an access to hierarchy setup, therefore, we can’t read all the levels and define a hierarchy.

Advanced roadmaps use two references in this hierarchy by default - Epic link, and Parent Link. While Epic link references to one particular level. Parent link can represent several levels. However, eazyBI needs a unique reference to each level. Therefore you would like to define new custom fields using calculated JavaScript custom field to split up parent link into levels.

You would like to define one custom field with JavaScript calculation for each level represented by Parent Link.

Here is an example for two levels Value Stream and Initiative above Epic (Value Stream>Initiative>Epic>Parent>Sub-tasks). In this example, I will use the default issue type Epic pulled in by Epic Link custom field in Jira. If you are using any other issue type instead of Epic with Epic link, you would need to override this level as well.

Here is an example definitions for this:

# enable portfolio in cloud 
[jira.portfolio]
enable=true

#split parent link describing each level separately 
[jira.customfield_p4]
name = "Value Stream"
data_type = "string"
update_from_issue_key = "customfield_p3"
javascript_code = '''
// for any Initative import reference to Value Stream using Parent Link (customfield_PPPPP)
if (issue.fields.customfield_PPPPP && issue.fields.issuetype.name == "Initiative") {
  cf = issue.fields.customfield_PPPPP;
  if (cf.data) {
    issue.fields.customfield_p4 = cf.data.key;
  } else {
    issue.fields.customfield_p4 = cf;
  }
}
'''

[jira.customfield_p3]
name = "Initiative"
data_type = "string"
update_from_issue_key = "epic_key"
javascript_code = '''
// for any Epic import reference to Initative using Parent Link (customfield_PPPPP)
if (issue.fields.customfield_PPPPP && issue.fields.issuetype.name == "Epic") {
  cf = issue.fields.customfield_PPPPP;
  if (cf.data) {
    issue.fields.customfield_p3 = cf.data.key;
  } else {
    issue.fields.customfield_p3 = cf;
  }
}
'''

# define a new hierarchy with levels Value Stream and Initiative on top of three default levels Epic>Parent>Sub-task
[[jira.issue_hierarchies]]
name = "Portfolio"
all_member_name = "All issues in the portfolio"
levels = [
  {name="Value Stream", key_column="customfield_p4", issue_type="Value Stream"},
  {name="Initiative", key_column="customfield_p3", issue_type="Initiative"},
  {name="Epic",key_column="epic_key"},
  {name="Parent",key_column="epic_parent_key"},
  {name="Sub-task",key_column="subtask_key"}
]

Daina / support@eazybi.com