Page tree
Skip to end of metadata
Go to start of metadata

TTS JQL Functions

tts.issuesHaveSomeSlas 

Sometimes you might want to find out which issues have SLAs on them. This JQL will return any issue with at least one SLA.
Parameters: It has optional one or more positional parameters (SLA Id/Name values) to filter against SLA. It also accepts SLA Date Filtering map parameters which are optional.

Some samples:

 

issue in tts.issuesHaveSomeSlas()
issue in tts.issuesHaveSomeSlas(22)
issue in tts.issuesHaveSomeSlas('SLA Name')
issue in tts.issuesHaveSomeSlas(22, 23, 30)
issue in tts.issuesHaveSomeSlas('SLA Name 1', 'SLA Name 2', 'SLA Name 3')
issue in tts.issuesHaveSomeSlas('SLA Name 1', 'SLA Name 2', 'SLA Name 3', 'startedAfter:2017-01-01', 'startedBefore:2017-12-31')

tts.issuesHaveSomeMetSlas 

filters issues which have at least one SLA that met targets.
Parameters: It has optional one or more positional parameters (SLA Id/Name values) to filter against SLA. It also accepts SLA Date Filtering map parameters which are optional.

Some samples:

 

issue in tts.issuesHaveSomeMetSlas()
issue in tts.issuesHaveSomeMetSlas(22)
issue in tts.issuesHaveSomeMetSlas('SLA Name')
issue in tts.issuesHaveSomeMetSlas(22, 23, 30)
issue in tts.issuesHaveSomeMetSlas('SLA Name 1', 'SLA Name 2', 'SLA Name 3')
issue in tts.issuesHaveSomeMetSlas('SLA Name 1', 'SLA Name 2', 'SLA Name 3', 'startedAfter:2017-01-01', 'startedBefore:2017-12-31')

tts.issuesHaveSomeExceededSlas 

filters issues which have at least one exceeded SLA. SLAs which are not completed but already have a breach are also included. 
Completed SLA: SLA that corresponds origin and target rules. For instance, if SLA is defined from Open to Closed, and the issue has been from Open to Closed then this SLA is completed. 
Uncompleted SLA: SLA corresponds origin rule, but not target yet. Uncompleted SLA can not be MET, but can be PROGRESS (SLA target date has not been reached) or EXCEED (SLA target date has passed).
Parameters: It has optional one or more positional parameters (SLA Id/Name values) to filter against SLA. It also accepts SLA Date Filtering map parameters which are optional.

Some samples:

 

issue in tts.issuesHaveSomeExceededSlas()
issue in tts.issuesHaveSomeExceededSlas(22)
issue in tts.issuesHaveSomeExceededSlas('SLA Name')
issue in tts.issuesHaveSomeExceededSlas(22, 23, 30)
issue in tts.issuesHaveSomeExceededSlas('SLA Name 1', 'SLA Name 2', 'SLA Name 3')
issue in tts.issuesHaveSomeExceededSlas('SLA Name 1', 'SLA Name 2', 'SLA Name 3', 'startedAfter:2017-01-01', 'startedBefore:2017-12-31')

tts.issuesHaveSomeSlasInProgress

filters issues which have at least one SLA that is still uncompleted and do not have breach.
Completed SLA: SLA that corresponds origin and target rules. For instance, if SLA is defined from Open to Closed, and the issue has been from Open to Closed then this SLA is completed. 
Uncompleted SLA: SLA corresponds origin rule, but not target yet. Uncompleted SLA can not be MET, but can be PROGRESS (SLA target date has not been reached) or EXCEED (SLA target date has passed).
Parameters: It has optional one or more positional parameters (SLA Id/Name values) to filter against SLA. It also accepts SLA Date Filtering map parameters which are optional.

Some samples:

 

issue in tts.issuesHaveSomeSlasInProgress() 
issue in tts.issuesHaveSomeSlasInProgress(22) 
issue in tts.issuesHaveSomeSlasInProgress('SLA Name') 
issue in tts.issuesHaveSomeSlasInProgress(22, 23, 30) 
issue in tts.issuesHaveSomeSlasInProgress('SLA Name 1', 'SLA Name 2', 'SLA Name 3') 
issue in tts.issuesHaveSomeSlasInProgress('SLA Name 1', 'SLA Name 2', 'SLA Name 3', 'startedAfter:2017-01-01', 'startedBefore:2017-12-31


tts.issuesHaveSomeInactiveSlas 

This function helps you tou find any inactive SLA. Inactive SLAs might be missing start or negotiation date fields. (6.41.0+)

Parameters: It has optional one or more positional parameters (SLA Id/Name values) to filter against SLA. It also accepts SLA Date Filtering map parameters which are optional. Keep in mind that many inactive SLAs will be missing some of those SLA dates to be filtered.

Some samples:

 

issue in tts.issuesHaveSomeInactiveSlas()
issue in tts.issuesHaveSomeInactiveSlas(22)
issue in tts.issuesHaveSomeInactiveSlas('SLA Name')
issue in tts.issuesHaveSomeInactiveSlas(22, 23, 30)
issue in tts.issuesHaveSomeInactiveSlas('SLA Name 1', 'SLA Name 2', 'SLA Name 3')
issue in tts.issuesHaveSomeInactiveSlas('SLA Name 1', 'SLA Name 2', 'SLA Name 3', 'startedAfter:2017-01-01', 'startedBefore:2017-12-31')

 

tts.issuesHaveSomePausedSlas

filters issues which are in one of the paused status(es).
Parameters: It has optional one or more positional parameters (SLA Id/Name values) to filter against SLA. It also accepts SLA Date Filtering map parameters which are optional.

Some samples:

 

issue in tts.issuesHaveSomePausedSlas()
issue in tts.issuesHaveSomePausedSlas(22)
issue in tts.issuesHaveSomePausedSlas('SLA Name')
issue in tts.issuesHaveSomePausedSlas(22, 23, 30)
issue in tts.issuesHaveSomePausedSlas('SLA Name 1', 'SLA Name 2', 'SLA Name 3')
issue in tts.issuesHaveSomePausedSlas('SLA Name 1', 'SLA Name 2', 'SLA Name 3', 'startedAfter:2017-01-01', 'startedBefore:2017-12-31')

tts.issuesHaveAllSlasMet 

filters issues which have met all SLA targets.
It has optional one or more positional parameters (SLA Id/Name values) to filter against SLA. 
Completed SLA: SLA that corresponds origin and target rules. For instance, if SLA is defined from Open to Closed, and the issue has been from Open to Closed then this SLA is completed. 
Uncompleted SLA: SLA corresponds origin rule, but not target yet. Uncompleted SLA can not be MET, but can be PROGRESS (SLA target date has not been reached) or EXCEED (SLA target date has passed).
Parameters: If no parameter is given, it searches issues that met all SLAs (both completed and uncompleted) 
If any parameter is given, it searches issues that met all SLAs that are given as parameters (both completed and uncompleted) 
It also accepts SLA Date Filtering map parameters which are optional.

Some samples:

 

issue in tts.issuesHaveAllSlasMet()
issue in tts.issuesHaveAllSlasMet(22)
issue in tts.issuesHaveAllSlasMet('SLA Name')
issue in tts.issuesHaveAllSlasMet(22, 23, 30)
issue in tts.issuesHaveAllSlasMet('SLA Name 1', 'SLA Name 2', 'SLA Name 3')
issue in tts.issuesHaveAllSlasMet('SLA Name 1', 'SLA Name 2', 'SLA Name 3', 'startedAfter:2017-01-01', 'startedBefore:2017-12-31')

tts.issuesHaveNoExceededSlas 

filters issues which have no exceeded SLAs. (both completed and uncompleted SLAs).
Completed SLA: SLA that corresponds origin and target rules. For instance, if SLA is defined from Open to Closed, and the issue has been from Open to Closed then this SLA is completed. 
Uncompleted SLA: SLA corresponds origin rule, but not target yet. Uncompleted SLA can not be MET, but can be PROGRESS (SLA target date has not been reached) or EXCEED (SLA target date has passed).
Parameters: It has optional one or more positional parameters (SLA Id/Name values) to filter against SLA. It also accepts SLA Date Filtering map parameters which are optional.

Some samples:

 

issue in tts.issuesHaveNoExceededSlas()
issue in tts.issuesHaveNoExceededSlas(22)
issue in tts.issuesHaveNoExceededSlas('SLA Name')
issue in tts.issuesHaveNoExceededSlas(22, 23, 30)
issue in tts.issuesHaveNoExceededSlas('SLA Name 1', 'SLA Name 2', 'SLA Name 3')
issue in tts.issuesHaveNoExceededSlas('SLA Name 1', 'SLA Name 2', 'SLA Name 3', 'startedAfter:2017-01-01', 'startedBefore:2017-12-31')

tts.issuesExceededAmongCompletedSlas 

filters issues which have at least one exceeded SLA among completed ones. Uncompleted SLAs are not included.
Completed SLA: SLA that corresponds origin and target rules. For instance, if SLA is defined from Open to Closed, and the issue has been from Open to Closed then this SLA is completed. 
Uncompleted SLA: SLA corresponds origin rule, but not target yet. Uncompleted SLA can not be MET, but can be PROGRESS (SLA target date has not been reached) or EXCEED (SLA target date has passed).
Parameters: It has optional one or more positional parameters (SLA Id/Name values) to filter against SLA. It also accepts SLA Date Filtering map parameters which are optional.

Some samples:

 

issue in tts.issuesExceededAmongCompletedSlas()
issue in tts.issuesExceededAmongCompletedSlas(22)
issue in tts.issuesExceededAmongCompletedSlas('SLA Name')
issue in tts.issuesExceededAmongCompletedSlas(22, 23, 30)
issue in tts.issuesExceededAmongCompletedSlas('SLA Name 1', 'SLA Name 2', 'SLA Name 3')
issue in tts.issuesExceededAmongCompletedSlas('SLA Name 1', 'SLA Name 2', 'SLA Name 3', 'startedAfter:2017-01-01', 'startedBefore:2017-12-31')

tts.issuesExceededAmongUncompletedSlas 

filters issues which have at least one exceeded SLA among uncompleted ones. Completed SLAs are not included.
Completed SLA: SLA that corresponds origin and target rules. For instance, if SLA is defined from Open to Closed, and the issue has been from Open to Closed then this SLA is completed. 
Uncompleted SLA: SLA corresponds origin rule, but not target yet. Uncompleted SLA can not be MET, but can be PROGRESS (SLA target date has not been reached) or EXCEED (SLA target date has passed).
Parameters: It has optional one or more positional parameters (SLA Id/Name values) to filter against SLA. It also accepts SLA Date Filtering map parameters which are optional.

Some samples:

 

issue in tts.issuesExceededAmongUncompletedSlas()
issue in tts.issuesExceededAmongUncompletedSlas(22)
issue in tts.issuesExceededAmongUncompletedSlas('SLA Name')
issue in tts.issuesExceededAmongUncompletedSlas(22, 23, 30)
issue in tts.issuesExceededAmongUncompletedSlas('SLA Name 1', 'SLA Name 2', 'SLA Name 3')
issue in tts.issuesExceededAmongUncompletedSlas('SLA Name 1', 'SLA Name 2', 'SLA Name 3', 'startedAfter:2017-01-01', 'startedBefore:2017-12-31')

tts.issuesNotExceededAmongCompletedSlas 

filters issues which have no exceeded SLA among completed ones. Uncompleted SLAs are not included.
Completed SLA: SLA that corresponds origin and target rules. For instance, if SLA is defined from Open to Closed, and the issue has been from Open to Closed then this SLA is completed. 
Uncompleted SLA: SLA corresponds origin rule, but not target yet. Uncompleted SLA can not be MET, but can be PROGRESS (SLA target date has not been reached) or EXCEED (SLA target date has passed).
Parameters: It has optional one or more positional parameters (SLA Id/Name values) to filter against SLA. It also accepts SLA Date Filtering map parameters which are optional.

Some samples:

 

issue in tts.issuesNotExceededAmongCompletedSlas()
issue in tts.issuesNotExceededAmongCompletedSlas(22)
issue in tts.issuesNotExceededAmongCompletedSlas('SLA Name')
issue in tts.issuesNotExceededAmongCompletedSlas(22, 23, 30)
issue in tts.issuesNotExceededAmongCompletedSlas('SLA Name 1', 'SLA Name 2', 'SLA Name 3')
issue in tts.issuesNotExceededAmongCompletedSlas('SLA Name 1', 'SLA Name 2', 'SLA Name 3', 'startedAfter:2017-01-01', 'startedBefore:2017-12-31')

tts.issuesNotExceededAmongUncompletedSlas 

filters issues which have no exceeded SLA among uncompleted ones. Completed SLAs are not included.
Completed SLA: SLA that corresponds origin and target rules. For instance, if SLA is defined from Open to Closed, and the issue has been from Open to Closed then this SLA is completed. 
Uncompleted SLA: SLA corresponds origin rule, but not target yet. Uncompleted SLA can not be MET, but can be PROGRESS (SLA target date has not been reached) or EXCEED (SLA target date has passed).
Parameters: It has optional one or more positional parameters (SLA Id/Name values) to filter against SLA. It also accepts SLA Date Filtering map parameters which are optional.

Some samples:

 

issue in tts.issuesNotExceededAmongUncompletedSlas()
issue in tts.issuesNotExceededAmongUncompletedSlas(22)
issue in tts.issuesNotExceededAmongUncompletedSlas('SLA Name')
issue in tts.issuesNotExceededAmongUncompletedSlas(22, 23, 30)
issue in tts.issuesNotExceededAmongUncompletedSlas('SLA Name 1', 'SLA Name 2', 'SLA Name 3')
issue in tts.issuesNotExceededAmongUncompletedSlas('SLA Name 1', 'SLA Name 2', 'SLA Name 3', 'startedAfter:2017-01-01', 'startedBefore:2017-12-31')

tts.issuesWithRemainingTimeMoreThan 

filters issues which still have more time than the specified parameter. Completed SLAs are not included.
Completed SLA: SLA that corresponds origin and target rules. For instance, if SLA is defined from Open to Closed, and the issue has been from Open to Closed then this SLA is completed. 
Uncompleted SLA: SLA corresponds origin rule, but not target yet. Uncompleted SLA can not be MET, but can be PROGRESS (SLA target date has not been reached) or EXCEED (SLA target date has passed).
Parameters: Timestring, the first parameter is required, followed by optional SLA Id/Name parameter(s). It also accepts SLA Date Filtering map parameters which are optional.

Some samples:

 

issue in tts.issuesWithRemainingTimeMoreThan('3h') 
issue in tts.issuesWithRemainingTimeMoreThan('2d 4h', 22)
issue in tts.issuesWithRemainingTimeMoreThan('2d 4h', 'SLA Name') 
issue in tts.issuesWithRemainingTimeMoreThan('3d 5h', 22, 23, 30)
issue in tts.issuesWithRemainingTimeMoreThan('3d 5h', 'SLA Name 1', 'SLA Name 2', 'SLA Name 3')
issue in tts.issuesWithRemainingTimeMoreThan('3d 5h', 'SLA Name 1', 'SLA Name 2', 'SLA Name 3', 'startedAfter:2017-01-01', 'startedBefore:2017-12-31')

tts.issuesWithRemainingTimeLessThan 

filters issues which have less time remaining than the specified parameter. Completed SLAs are not included.
Completed SLA: SLA that corresponds origin and target rules. For instance, if SLA is defined from Open to Closed, and the issue has been from Open to Closed then this SLA is completed. 
Uncompleted SLA: SLA corresponds origin rule, but not target yet. Uncompleted SLA can not be MET, but can be PROGRESS (SLA target date has not been reached) or EXCEED (SLA target date has passed).
Parameters: Timestring, the first parameter is required, followed by optional SLA Id/Name parameter(s). It also accepts SLA Date Filtering map parameters which are optional.

Some samples:

 

issue in tts.issuesWithRemainingTimeLessThan('3h') 
issue in tts.issuesWithRemainingTimeLessThan('2d 4h', 22)
issue in tts.issuesWithRemainingTimeLessThan('2d 4h', 'SLA Name') 
issue in tts.issuesWithRemainingTimeLessThan('3d 5h', 22, 23, 30)
issue in tts.issuesWithRemainingTimeLessThan('3d 5h', 'SLA Name 1', 'SLA Name 2', 'SLA Name 3')
issue in tts.issuesWithRemainingTimeLessThan('3d 5h', 'SLA Name 1', 'SLA Name 2', 'SLA Name 3', 'startedAfter:2017-01-01', 'startedBefore:2017-12-31')

tts.issuesWithBreachLongerThan 

filters issues which have a breach longer than the given parameter (both for completed and uncompleted SLAs).
Completed SLA: SLA that corresponds origin and target rules. For instance, if SLA is defined from Open to Closed, and the issue has been from Open to Closed then this SLA is completed. 
Uncompleted SLA: SLA corresponds origin rule, but not target yet. Uncompleted SLA can not be MET, but can be PROGRESS (SLA target date has not been reached) or EXCEED (SLA target date has passed).
Parameters: Timestring, the first parameter is required, followed by optional SLA Id/Name parameter(s). It also accepts SLA Date Filtering map parameters which are optional.

Some samples:

 

issue in tts.issuesWithBreachLongerThan('3h') 
issue in tts.issuesWithBreachLongerThan('2d 4h', 22)
issue in tts.issuesWithBreachLongerThan('2d 4h', 'SLA Name') 
issue in tts.issuesWithBreachLongerThan('3d 5h', 22, 23, 30)
issue in tts.issuesWithBreachLongerThan('3d 5h', 'SLA Name 1', 'SLA Name 2', 'SLA Name 3')
issue in tts.issuesWithBreachLongerThan('3d 5h', 'SLA Name 1', 'SLA Name 2', 'SLA Name 3', 'startedAfter:2017-01-01', 'startedBefore:2017-12-31')

tts.issuesWithBreachShorterThan 

filters issues which have a breach shorter than the given parameter (both for completed and uncompleted SLAs).
Completed SLA: SLA that corresponds origin and target rules. For instance, if SLA is defined from Open to Closed, and the issue has been from Open to Closed then this SLA is completed. 
Uncompleted SLA: SLA corresponds origin rule, but not target yet. Uncompleted SLA can not be MET, but can be PROGRESS (SLA target date has not been reached) or EXCEED (SLA target date has passed).
Parameters: Timestring, the first parameter is required, followed by optional SLA Id/Name parameter(s). It also accepts SLA Date Filtering map parameters which are optional.

Some samples:

 

issue in tts.issuesWithBreachShorterThan('3h') 
issue in tts.issuesWithBreachShorterThan('2d 4h', 22)
issue in tts.issuesWithBreachShorterThan('2d 4h', 'SLA Name') 
issue in tts.issuesWithBreachShorterThan('3d 5h', 22, 23, 30)
issue in tts.issuesWithBreachShorterThan('3d 5h', 'SLA Name 1', 'SLA Name 2', 'SLA Name 3')
issue in tts.issuesWithBreachShorterThan('3d 5h', 'SLA Name 1', 'SLA Name 2', 'SLA Name 3', 'startedAfter:2017-01-01', 'startedBefore:2017-12-31')

tts.issuesWithBreachLongerThanAmongCompletedSlas 

filters issues which have a breach longer than the given parameter among completed SLAs. Uncompleted SLAs are not included
Completed SLA: SLA that corresponds origin and target rules. For instance, if SLA is defined from Open to Closed, and the issue has been from Open to Closed then this SLA is completed. 
Uncompleted SLA: SLA corresponds origin rule, but not target yet. Uncompleted SLA can not be MET, but can be PROGRESS (SLA target date has not been reached) or EXCEED (SLA target date has passed).
Parameters: Timestring, the first parameter is required, followed by optional SLA Id/Name parameter(s). It also accepts SLA Date Filtering map parameters which are optional.

Some samples:

 

issue in tts.issuesWithBreachLongerThanAmongCompletedSlas('3h') 
issue in tts.issuesWithBreachLongerThanAmongCompletedSlas('2d 4h', 22)
issue in tts.issuesWithBreachLongerThanAmongCompletedSlas('2d 4h', 'SLA Name') 
issue in tts.issuesWithBreachLongerThanAmongCompletedSlas('3d 5h', 22, 23, 30)
issue in tts.issuesWithBreachLongerThanAmongCompletedSlas('3d 5h', 'SLA Name 1', 'SLA Name 2', 'SLA Name 3')
issue in tts.issuesWithBreachLongerThanAmongCompletedSlas('3d 5h', 'SLA Name 1', 'SLA Name 2', 'SLA Name 3', 'startedAfter:2017-01-01', 'startedBefore:2017-12-31')

tts.issuesWithBreachLongerThanAmongUncompletedSlas 

filters issues which have a breach longer than the given parameter among uncompleted SLAs. Completed SLAs are not included.
Completed SLA: SLA that corresponds origin and target rules. For instance, if SLA is defined from Open to Closed, and the issue has been from Open to Closed then this SLA is completed. 
Uncompleted SLA: SLA corresponds origin rule, but not target yet. Uncompleted SLA can not be MET, but can be PROGRESS (SLA target date has not been reached) or EXCEED (SLA target date has passed).
Parameters: Timestring, the first parameter is required, followed by optional SLA Id/Name parameter(s). It also accepts SLA Date Filtering map parameters which are optional.

Some samples:

 

issue in tts.issuesWithBreachLongerThanAmongUncompletedSlas('3h') 
issue in tts.issuesWithBreachLongerThanAmongUncompletedSlas('2d 4h', 22)
issue in tts.issuesWithBreachLongerThanAmongUncompletedSlas('2d 4h', 'SLA Name') 
issue in tts.issuesWithBreachLongerThanAmongUncompletedSlas('3d 5h', 22, 23, 30)
issue in tts.issuesWithBreachLongerThanAmongUncompletedSlas('3d 5h', 'SLA Name 1', 'SLA Name 2', 'SLA Name 3')
issue in tts.issuesWithBreachLongerThanAmongUncompletedSlas('3d 5h', 'SLA Name 1', 'SLA Name 2', 'SLA Name 3', 'startedAfter:2017-01-01', 'startedBefore:2017-12-31')

tts.issuesWithBreachShorterThanAmongCompletedSlas 

filters issues which have a breach shorter than the given parameter among completed SLAs. Uncompleted SLAs are not included.
Completed SLA: SLA that corresponds origin and target rules. For instance, if SLA is defined from Open to Closed, and the issue has been from Open to Closed then this SLA is completed. 
Uncompleted SLA: SLA corresponds origin rule, but not target yet. Uncompleted SLA can not be MET, but can be PROGRESS (SLA target date has not been reached) or EXCEED (SLA target date has passed).
Parameters: Timestring, the first parameter is required, followed by optional SLA Id/Name parameter(s). It also accepts SLA Date Filtering map parameters which are optional.

Some samples:

 

issue in tts.issuesWithBreachShorterThanAmongCompletedSlas('3h') 
issue in tts.issuesWithBreachShorterThanAmongCompletedSlas('2d 4h', 22)
issue in tts.issuesWithBreachShorterThanAmongCompletedSlas('2d 4h', 'SLA Name') 
issue in tts.issuesWithBreachShorterThanAmongCompletedSlas('3d 5h', 22, 23, 30)
issue in tts.issuesWithBreachShorterThanAmongCompletedSlas('3d 5h', 'SLA Name 1', 'SLA Name 2', 'SLA Name 3')
issue in tts.issuesWithBreachShorterThanAmongCompletedSlas('3d 5h', 'SLA Name 1', 'SLA Name 2', 'SLA Name 3', 'startedAfter:2017-01-01', 'startedBefore:2017-12-31')

tts.issuesWithBreachShorterThanAmongUncompletedSlas 

filters issues which have a breach shorter than the given parameter among uncompleted SLAs. Completed SLAs are not included.
Completed SLA: SLA that corresponds origin and target rules. For instance, if SLA is defined from Open to Closed, and the issue has been from Open to Closed then this SLA is completed. 
Uncompleted SLA: SLA corresponds origin rule, but not target yet. Uncompleted SLA can not be MET, but can be PROGRESS (SLA target date has not been reached) or EXCEED (SLA target date has passed).
Parameters: Timestring, the first parameter is required, followed by optional SLA Id/Name parameter(s). It also accepts SLA Date Filtering map parameters which are optional.

Some samples:

 

issue in tts.issuesWithBreachShorterThanAmongUncompletedSlas('3h') 
issue in tts.issuesWithBreachShorterThanAmongUncompletedSlas('2d 4h', 22)
issue in tts.issuesWithBreachShorterThanAmongUncompletedSlas('2d 4h', 'SLA Name') 
issue in tts.issuesWithBreachShorterThanAmongUncompletedSlas('3d 5h', 22, 23, 30)
issue in tts.issuesWithBreachShorterThanAmongUncompletedSlas('3d 5h', 'SLA Name 1', 'SLA Name 2', 'SLA Name 3')
issue in tts.issuesWithBreachShorterThanAmongUncompletedSlas('3d 5h', 'SLA Name 1', 'SLA Name 2', 'SLA Name 3', 'startedAfter:2017-01-01', 'startedBefore:2017-12-31')

tts.issuesWithMetIndicator

This function finds the issues with MET indicator. If any SLA is given as parameter then indicator will be evaluated for those SLAs only. This is method basically does the same job with tts.issuesHaveAllSlasMet method. An issue is considered as MET when its all SLAs are MET. (6.41.0+)
Parameters: It has optional one or more positional parameters (SLA Id/Name values) to filter against SLA. It also accepts SLA Date Filtering map parameters which are optional.

Some samples:

 

issue in tts.issuesWithMetIndicator()
issue in tts.issuesWithMetIndicator(22)
issue in tts.issuesWithMetIndicator('SLA Name')
issue in tts.issuesWithMetIndicator(22, 23, 30)
issue in tts.issuesWithMetIndicator('SLA Name 1', 'SLA Name 2', 'SLA Name 3')
issue in tts.issuesWithMetIndicator('SLA Name 1', 'SLA Name 2', 'SLA Name 3', 'startedAfter:2017-01-01', 'startedBefore:2017-12-31')

tts.issuesWithProgressIndicator 

This function finds the issues with PROGRESS indicator. If any SLA is given as parameter then indicator will be evaluated for those SLAs only. An issue is given PROGRESS indicator when there is at least one PROGRESS SLA on it and there is no EXCEDEED SLAs on it. (6.41.0+)
Parameters: It has optional one or more positional parameters (SLA Id/Name values) to filter against SLA. It also accepts SLA Date Filtering map parameters which are optional.

Some samples:

 

issue in tts.issuesWithProgressIndicator()
issue in tts.issuesWithProgressIndicator(22)
issue in tts.issuesWithProgressIndicator('SLA Name')
issue in tts.issuesWithProgressIndicator(22, 23, 30)
issue in tts.issuesWithProgressIndicator('SLA Name 1', 'SLA Name 2', 'SLA Name 3')
issue in tts.issuesWithProgressIndicator('SLA Name 1', 'SLA Name 2', 'SLA Name 3', 'startedAfter:2017-01-01', 'startedBefore:2017-12-31')

tts.issuesWithExceededIndicator

This function finds the issues with EXCEEDED indicator. If any SLA is given as parameter then indicator will be evaluated for those SLAs only. This is method basically does the same job with tts.issuesHaveSomeExceededSlas method. Remember that it is required only one EXCEEDED SLA to mark an issue as EXCEEDED. (6.41.0+)  
  Parameters: It has optional one or more positional parameters (SLA Id/Name values) to filter against SLA. It also accepts SLA Date Filtering map parameters which are optional.

Some samples:

 

issue in tts.issuesWithExceededIndicator()
issue in tts.issuesWithExceededIndicator(22)
issue in tts.issuesWithExceededIndicator('SLA Name')
issue in tts.issuesWithExceededIndicator(22, 23, 30)
issue in tts.issuesWithExceededIndicator('SLA Name 1', 'SLA Name 2', 'SLA Name 3')
issue in tts.issuesWithExceededIndicator('SLA Name 1', 'SLA Name 2', 'SLA Name 3', 'startedAfter:2017-01-01', 'startedBefore:2017-12-31')

 

tts.issuesWithInactiveIndicator 

This function finds the issues with INACTIVE indicator. If any SLA is given as parameter then indicator will be evaluated for those SLAs only. Remember that an issue is marked with INACTIVE indicator only if its all SLAs are inactive. (6.41.0+)
Parameters: It has optional one or more positional parameters (SLA Id/Name values) to filter against SLA. It also accepts SLA Date Filtering map parameters which are optional.

Some samples:

 

issue in tts.issuesWithInactiveIndicator()
issue in tts.issuesWithInactiveIndicator(22)
issue in tts.issuesWithInactiveIndicator('SLA Name')
issue in tts.issuesWithInactiveIndicator(22, 23, 30)
issue in tts.issuesWithInactiveIndicator('SLA Name 1', 'SLA Name 2', 'SLA Name 3')
issue in tts.issuesWithInactiveIndicator('SLA Name 1', 'SLA Name 2', 'SLA Name 3', 'startedAfter:2017-01-01', 'startedBefore:2017-12-31')

tts.issuesWithElapsedTimeMoreThan

filters issues which elapsed time more than the specified parameter. All SLA types are included.

Some samples:

issue in tts.issueWithElapsedTimeMoreThan('3h')
issue in tts.issueWithElapsedTimeMoreThan('2d 4h', 22)
issue in tts.issueWithElapsedTimeMoreThan('2d 4h', 'SLA Name')
issue in tts.issueWithElapsedTimeMoreThan('3d 5h', 22, 23, 30)
issue in tts.issueWithElapsedTimeMoreThan('3d 5h', 'SLA Name 1', 'SLA Name 2', 'SLA Name 3')
issue in tts.issueWithElapsedTimeMoreThan('3d 5h', 'SLA Name 1', 'SLA Name 2', 'SLA Name 3', 'startedAfter:2019-04-23', 'startedBefore:2019-10-29')


tts.issuesWithElapsedTimeLessThan

filters issues which elapsed time less than the specified parameter. All SLA types are included.

Some Samples:

issue in tts.issueWithElapsedTimeLessThan('3h')
issue in tts.issueWithElapsedTimeLessThan('2d 4h', 22)
issue in tts.issueWithElapsedTimeLessThan('2d 4h', 'SLA Name')
issue in tts.issueWithElapsedTimeLessThan('3d 5h', 22, 23, 30)
issue in tts.issueWithElapsedTimeLessThan('3d 5h', 'SLA Name 1', 'SLA Name 2', 'SLA Name 3')
issue in tts.issueWithElapsedTimeLessThan('3d 5h', 'SLA Name 1', 'SLA Name 2', 'SLA Name 3', 'startedAfter:2019-04-23', 'startedBefore:2019-10-29')

JQL Map Parameters

JQL Map Parameters

JQL Map parameters allows to finer customization of JQL requests. They use "key:value" format and should be placed as in the example:

issue in tts.issuesHaveAllSlasMet('SLA Name 1', 'startedAfter:2017-01-01', 'startedBefore:2017-12-31')

 

Keep in mind that:

  • Map arguments should be wrapped with single or double quotes including their keys
  • Position or order of map arguments does not matter

SLA Interval Filtering Parameters

Those parameters can be used to narrow down the scope of JQLs into desired time intervals. They accept fixed dates such as 2017/01/01 or relative dates such as -1y 6m (one and a half year before).

Accepted fixed date formats:  yyyy/MM/dd , yyyy.MM.dd , yyyy-MM-dd  and  yyyy MM dd

Accepted relative date units: y (year), M (month), d (day), h (hour), m (minute) and s (second)

 

Performance Tip

Reducing the scope of JQLs will provide refined results and improved performance. 


  • startedAfter: Filters issue SLAs of which SLA start date is after than given date
  • startedBefore: Filters issue SLAs of which SLA start date is before than given date
  • completedAfter: Filters issue SLAs of which SLA completion date is after than given date (PROGRESS issue SLAs will be ignored since they do not completed yet)
  • completedBefore: Filters issue SLAs of which SLA completion date is after than given date (PROGRESS issue SLAs will be ignored since they do not completed yet)
  • expectedAfter: Filters issue SLAs of which expected SLA target date is after than given date
  • expectedBefore: Filters issue SLAs of which expected SLA target date is after than given date

Note that before and after days are inclusive.


Here is how you search for all issues with at least one breached SLA instance which started in last 3 months:

issue in tts.issuesHaveSomeExceededSlas('startedAfter:-1y')

 

And how you can make same search for second quarter of 2017:

issue in tts.issuesHaveSomeExceededSlas('3d 5h', 'SLA Name 1', 'SLA Name 2', 'SLA Name 3', 'startedAfter:-1y')

You can use various date parameters but setting one start date and one end date is recommended.

Common Problems & Solutions

JQL is a powerful functionality of JIRA and TTS extends this functionality with many customized functions. Unfortunately there are some drawbacks of JQL framework that JIRA offers to plugin developers thus limiting us to making fine-tune improvements on our JQL functions. We want to mention some common problems with custom JQL functions and possible solutions to them.

Lack of Query Optimization in Custom JQL Functions

Problem: You might already know that AND statements are often optimized in many query languages. Resulting rows from preceding AND statements get transfered to next AND statment so that it will operate on a smaller set thus reducing query time dramatically. But this is not possible with custom JIRA functions. For example if your JIRA instance has 100K issues, 100 of them assigned to you and you are running following JQL:

assignee = currentUser() AND issue in tts.issuesHaveAllSlasMet()

You would expect that  tts.issuesHaveAllSlasMet() should analyze only 100 issues which has been assigned to you. Unfortunately this is not possible with current JQL framework of JIRA and TTS should analyze all of the 100K issues thus making query time much longer than expected.

Results: Long query times. If timeout occurs you will get no results. 

Solution: Unfortunately there is no current solution for this problem but we are working on possible workarounds. 

65K Issue Limit in JQL Functions

Problem: JIRA has 65K issue limit for JQL functions by default. This in fact caused by the limits of underlying Lucene indexing mechanism and there is a JIRA issue for this problem. You might see the effects of this limit in TTS functions if you have many issues in your JIRA instance. 

Results: If any custom functions including TTS ones returns more than 65K issues you will get empty results.

Solution: You can increase this limit to higher value by setting maxclauses limit in jira-config.properties file as instructed  here. We can wrap up the steps as below:

  1. Create jira-config.properties file under <jira-home> directory, if it does not already exist.
  2. Add the jira.search.maxclauses property with the new value, something higher than 65k. Please select a proper value for your environment and queries.
  3. Restart JIRA.

Alternatively you can use date parameters in your TTS queries in order to narrow down your scope as described here. This way you can lower the result count and eventually run your queries without hitting 65K limit.

Keep in mind that 65K limit is counted against each JQL function rather than the whole query. So even your complete query covers less than 65K issues if any TTS JQL function exceeds this limit you will get empty results.

This is a result of the lack of the query optimization in custom JQL functions we mentioned before. TTS has to analyze all issues in your JIRA instance and has to return all matching issues no mater which conditions(project, assignee, created date etc.) you set before.


 

 

  • No labels