Hi @kishore.shedge!
Welcome to the eazyBI world! ![:slight_smile: :slight_smile:](https://community.eazybi.com/images/emoji/twitter/slight_smile.png?v=9)
There is an option to group Sprints in a new hierarchy by importing additional property to Sprint dimension. See a similar question here Restrict sprint within board.
Following is a REST API import definition where there is a calculation with JavaScript
Sprint REST API definition with JS to return Sprint name starting from "Sprint" string in the original name
{
"application_type": "rest_api",
"application_params": {
"source_params": {
"url": "JIRA_BASE_URL/rest/agile/1.0/board/",
"pagination": "offset_limit",
"incremental": null,
"incremental_stop_import": null,
"authentication_type": "basic",
"username": "",
"content_type": "json",
"custom_javascript_code": "// retrieves all sprints within one board\nvar sprints = [];\nvar allSprintsLoaded = false;\nvar startAt = 0;\nvar maxResult = 50;\nif (doc.type == \"scrum\") {\n // loads all sprints of a board.\n do\n {\n result = getDocument( \"/rest/agile/1.0/board/\" + doc.id + \"/sprint?startAt=\" + startAt + \"&maxResults=\" + maxResult, {ignoreErrors: [404]});\n if (result && result.values ) {\n sprints = sprints.concat(result.values);\n allSprintsLoaded = result.isLast;\n startAt = startAt + maxResult;\n }\n }\n while (!allSprintsLoaded);\n \n // print first part of name for each sprint\n if (sprints) { \n for(var i = sprints.length-1; i >= 0; i--) {\n var sprint = sprints[i];\n if (sprint.name.indexOf(\"Sprint\") > 0) {\n sprints[i].new_name = sprint.name.substring(sprint.name.indexOf(\"Sprint\"));\n }\n }\n }\n}\n \n// this will pass the sprint set for mapping and import\nreturn sprints;",
"json_data_path": "$.values",
"offset_parameter": "startAt",
"limit_parameter": "maxResults",
"limit_value": 50
},
"columns_options": {
"hide_unmapped": true
},
"extra_options": {
"regular_import_frequency": null,
"regular_import_at": "",
"time_zone": "Helsinki"
}
},
"source_cube_name": "Issues",
"columns": [
{
"name": "id",
"data_type": "integer",
"dimension": "Sprint",
"dimension_level": "Sprint",
"key_column": true,
"skip_missing": true
},
{
"name": "self",
"data_type": "string"
},
{
"name": "state",
"data_type": "string"
},
{
"name": "name",
"data_type": "string"
},
{
"name": "startDate",
"data_type": "datetime"
},
{
"name": "endDate",
"data_type": "datetime"
},
{
"name": "completeDate",
"data_type": "datetime"
},
{
"name": "activatedDate",
"data_type": "datetime"
},
{
"name": "originBoardId",
"data_type": "integer"
},
{
"name": "goal",
"data_type": "string"
},
{
"name": "new_name",
"data_type": "string",
"dimension": "Sprint",
"dimension_level": "Sprint",
"property": "Name"
}
]
}
After importing this definition in the Source data tab, please make sure to specify your authentication parameters and JIRA_BASE_URL in the Source Data URL section.
Let me know if this helps and if you have any further questions!
Lauma / support@eazybi.com