SLA is not stopping on issue transition
Platform Notice: Data Center - This article applies to Atlassian products on the Data Center platform.
Note that this knowledge base article was created for the Data Center version of the product. Data Center knowledge base articles for non-Data Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Symptoms
An SLA was configured to stop when a ticket enters a specific status. However, the SLA does not stop as expected when the ticket enters this status and keep ticking.
Diagnosis
Checking the SLA configuration, we can see that the SLA is configured to stop when entering a specific status (for example, Status "pending" in the screenshot below)
Looking into the post-functions associated to the transition which links to this status, we can see that no event is fired for this transition:
Cause
When an SLA is configured to start/pause/stop when a ticket enters a specific transition, the SLA relies on events triggered during this transition to detect that the transition happened. If no event is fired during the transition, then the SLA will miss the transition and won't stop as expected.
Note that when using Jira out-of-the-box with no 3rd party add-on, any transition comes by default with a post-function that fires an event. It is also not possible to delete this post-function. However, when using the 3rd party add-on Admin Toolbox for Jira, it becomes possible to delete such post-function, causing the SLA not to stop when expected.
This is what a correct transition looks by default (note the post-function which is firing an event):
Workaround
Add a post-function to the transition that fires an event.