Integrate Time to SLA with eazyBI

This page is about Time to SLA for Jira On-Prem.

eazyBI currently does not offer an out-of-the box-Time to SLA integration. However, we provide a custom-tailored solution in our app to let you harvest rich SLA information right through eazyBI.

You need eazyBI Reports and Charts for Jira, which is a third-party Jira app. Find more details here.

Configuration

1. Install and set up eazyBI.

2. Define an eazyBI Integration Field custom field in your Jira instance in the Jira Administrators menu > Issues > Custom Fields > TTS-eazyBI Integration.

Before moving on to the third step, you need to get the ID of the custom field you just created. To see it, you can click Edit, and check the URL – the ID will be at the end of the URL.

3. Switch to eazyBI and select the Settings option in the configuration menu.

4. Introduce your eazyBI integration field to eazyBI by adding the following line under the Advanced Settings section. You should change 11500 with the ID of the custom field you have defined in step 2.

Import Time to SLA eazyBI Custom Field

Import Time to SLA eazyBI Custom Field

1
2
3
4

[jira.customfield_11500]
data_type = "string"
dimension = true
name = "EazyBI Integration Cf"

5. Go to the Source Data page and click the Edit button next to your Jira app. 

6. Go to the Custom fields section under Jira import options. Tick the "Import as dimension" checkbox of the Time to SLA eazyBI custom field and then click the import button.

7. After importing is done, you can start to create your eazyBI fields for different attributes of your SLA data. For this, you need to write your custom field code in Advance Settings under the eazyBI settings.

Below, we define two new eazyBI custom fields as an example. The first one gets SLA status by issue and the second one gets SLA start date fields.

Create eazyBI custom fields

Create eazyBI custom fields

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

[jira.customfield_ttsSlaStatusCf]
data_type = "string"
name = "TTS eazyBI SLA status custom field"
javascript_code = '''
if(issue.fields.customfield_11500){
var jsonObject = JSON.parse(issue.fields.customfield_11500);
var slaStatusArray = [];
jsonObject.forEach(function(value) {
if(value.slaStatus !== null){
   slaStatusArray.push(value.slaName +":"+ value.slaStatus);
}
});
 issue.fields.customfield_ttsSlaStatusCf = slaStatusArray;
}
'''

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

[jira.customfield_ttsSlaStartDateCf]
data_type = "string"
dimension = true
name = "TTS eazyBI SLA start date custom field"
javascript_code = '''
if(issue.fields.customfield_11500){
var jsonObject = JSON.parse(issue.fields.customfield_11500);
var startDateArray = [];
jsonObject.forEach(function(value) {
if(value.startDate !== null){
   startDateArray.push(value.slaName +":"+ value.startDate);
}
});
 issue.fields.customfield_ttsSlaStartDateCf = startDateArray;
}
'''

8. The final configuration looks like the below image with the given settings. 

You can use the following properties in your eazyBI reports:

Description

Key

Type

Description

Key

Type

SLA ID

slaId

Long

SLA  Name

slaName

String

SLA Calendar Name

workingCalendarName

String

SLA Status

slaStatus

Enum

SLA Duration

slaValueAsDurationString

String

SLA Duration

slaValue

Integer (Seconds)

SLA Start Date

startDate

Date

SLA End Date

endDate

Date

SLA Target Date

targetDate

Date

SLA Elapsed Duration

workingDuration

Integer (Seconds)

SLA Remaining Duration

remainingDuration

Integer (Seconds)

SLA Overdue Duration

overdueDuration

Integer (Seconds)

SLA Paused Duration

pausedDuration

Integer (Seconds)

SLA Elapsed Percentage

elapsedPercentage

Integer

SLA in Critical Zone?

inCriticalZone

Boolean

SLA Paused

paused

Boolean

SLA Started?

started

Boolean

SLA Finished?

finished

Boolean

Calendar Business Day Hours

businessDayHours

BigDecimal (Hours)


Get Report

1. Go to the Analyze page within eazyBI and choose which custom fields you want to see. 

2. Now you can get a report with the SLA information that you have defined.