Issues in multiple FixVersions filter by a single fix version

I have 5 different teams in my programme and each team uses its own Jira Project. I have imported all these projects to EazyBI cube.

We use fix version field to tag stories to programme increments and also releases. So each item in Jira will be tagged to at least 2 fix versions. All teams use same nomenclature for fix version (for releases R1, R2 etc and for programme increment PI1, PI2 etc).

R1 may contain stories which will be delivered in PI1, PI2, PI4. In Jira, we are using fixVersion field to tag these items as below.

  • Stories delivered in PI1 and part of R1 will have fix version fields tagged with ‘R1’ & ‘PI1’. (Eg JQL: fixVersion in (“R1”) AND fixVersion = “PI1”)
  • Stories delivered in PI2 and part of R1 will have fix version field tagged with ‘R1’ & ‘PI2’.
  • Stories delivered in PI4 and part of R1 will have fix version field tagged with ‘R1’ & ‘PI4’.

I am trying to create a report that shows for a fix version R1, how many issues created, resolved, due across fix versions PI1, PI2 and PI4.

Page filter: fixVersion -> R1

fix Version Issues Created Issues Due Issues Resolved
PI1 10 4 5
PI2 40 10 8
PI3 52 15 31

Hi @manohar.kurapati,

It looks like creating new calculated JavaScript custom fields for Releases and/or Programme Increments is the best option. The eazyBI documentation page has more information on this - https://docs.eazybi.com/eazybijira/data-import/custom-fields/javascript-calculated-custom-fields.

Head to the eazyBI advanced settings and add the parameters below for Release:

[jira.customfield_releases] 
name = 'Releases'
data_type = 'string'
multiple_values = true
split_by = ','
dimension = true
separate_table = true
javascript_code = '''
var release = [];
var regex = [
             /R1/,
             /R2/,
             /R3/,
             /R4/
            ];
var releaseName = [
             'R1',
             'R2',
             'R3',
             'R4'
             ];
if (issue.fields.fixVersions) {
  for (var i=0; i < issue.fields.fixVersions.length; i++) {
    var versionName = issue.fields.fixVersions[i].name;
    for (var n=0; n < regex.length; n++) {
      if(regex[n].test(versionName)) {
        release.push(releaseName[n]);
      }
    }
  }
  if (release) {
    issue.fields.customfield_fvrelease = _.uniq(release).join(",");
  }
}
'''

You can create a similar calculated JavaScript custom field for Programme Increment or use the Fix Version dimension. After updating the eazyBI advanced settings, you can select the custom fields for import in the eazyBI import options “Custom fields” tab.

A report could look similar to the one below:

Best,
Roberts // support@eazybi.com