SLAs with additional JQL in their configuration disappear when any field on those JQLs changed in a workflow transition. However this problem can not be observed when those fields changed in JIRA interface (eg. using issue view).
Steps To Reproduce :
- Add a JQL filter to an SLA definition
- Change a field (which is used in JQL of SLA definition) within the transition.
- Execute the workflow transition and see that SLA disappear from the issue.
But SLA is become visible when
the issue gets updated
SLA regeneration is execute
This problem could be observed within two different scenarios
- An issue goes out of the scope of JQL filter with workflow transition but SLA does not disappear from the issue
- Or an issue goes in the scope of JQL filter with workflow transition but SLA does not appear on the issue
The reason behind this problem is the technical limitations within JIRA plugin framework. TTS tries to evaluate JQL in SLA definition when issue is updated but JIRA gives wrong results from JQL because new values are not indexed yet.
Solution 1: Asynchronous SLA Calculation (6.40.0+)
Since we can not change the way how JIRA works, we offer a limited effective solution for this problem, Asynchronous SLA Calculation method. You can activate asynchronous calculation for each SLA having this problem. TTS will evaluate those SLAs out of issue event cycle so that JQL conditions will give correct results.
Another effective solution is the Release Re-index Queue Post Function. You can add the post function to workflow transition where you update the custom field or issue field.
This post function may slow down your transition. Please use with caution.