What this episode covers
- Why workflows behaved differently even after SLAs were fixed
- How post-functions can be dangerous
- Why old workflow logic resurfaces after cleanup
- How we fixed it without triggering another incident
Where We Left Off
Week 2 ended with relief.
- SLAs were green again.
- Escalations stopped firing randomly.
- Support trusted dashboards once more.
And yet…
something still didn’t feel right.
During post-fix validation, we noticed tickets moving from
Work in Progress → Done, without agents remembering doing it.
No panic, just discomfort.
That’s usually how real problems begin.
1. “Who Closed This?” - A Question Nobody Could Answer
We pulled issue histories.
Normally Jira tells the truth, even when it hurts.
This time:
- No automation comment
- No REST API call
- No bulk change record
Just:
Status changed: Work in Progress → Done
An agent looked genuinely worried.
“I didn’t close it. I was still working on it.”
At first, we assumed human error.
Then it happened again.
Different agents. Different queue.
This wasn’t behavior.
This was logic.
2. The Workflow Looked Correct - And That Was the Problem
We opened the workflow editor.
Everything looked clean:
- Conditions present
- Validators enforced
- Required fields configured
- No auto-transition visible
According to the UI, this transition should not have succeeded.
And that’s when the realization hit:
The editor wasn’t lying - it just wasn’t telling the whole story.
3. Post-Functions: That was Never Questioned
Yes, post-functions were not Questioned.
They always had been there, but ignored.
As they were old.
Very old.
Things like:
- Set Resolution
- Fire Issue Closed Event
- Clear Field Value
- Update Change History
No comments.
No documentation.
No one remembered why they existed.
They had survived:
- Workflow copies
- Project migrations
- Admin changes
- Partial cleanups
They weren’t hidden.
They were untouched.
4. Execution Order Changed Everything
Post-functions execute in a strict order.
In this transition, the order was:
1. Clear resolution
2. Set resolution = Done
3. Fire “Issue Closed” event
4. Re-index issue
So even if:
A validation should block the transition
A required field was empty
…the post-functions executed after the click and forced closure anyway.
From an agent’s perspective:
They didn’t bypass rules
The workflow did it for them
That’s why tickets appeared to close on their own.
5. Why Cleanup Triggered This Now
Before cleanup, these post-functions lived inside noisy workflows.
Once we:
- Removed duplicate statuses
- Simplified transitions
- Standardized resolution values
…the legacy logic became dominant.
The cleanup didn’t introduce bad behavior.
It exposed it.
The system behaved exactly as it was designed - years ago.
6. The Risk No One Talks About
At this point, the concern wasn’t technical.
It was this:
- If workflows can silently override validations,
- what else is executing that no one fully understands?
Cleanup had crossed into risk management.
7. Fixing It Without Creating Another Incident
The approach was deliberate:
- Exported every active workflow
- Reviewed post-functions transition by transition
- Identified which ones were required and which were legacy
- Removed auto-resolution logic carefully
- Reordered validation and post-function execution
- Tested changes in sandbox
- Rolled out project by project
After the fix:
- Tickets closed only when agents closed them
- Required fields stayed required
- SLAs behaved predictably
- Trust returned quietly
The Unexpected Aftermath
A week later, Support returned again.
Not stressed.
Not angry.
Just confused.
“Ticket volume seems higher. Nothing is broken… but customers are raising more basic requests.”
Deflection dropped.
Self-service resolution dipped.
Workflows were correct now.
But something else had changed.
Something dependent on consistent resolution patterns.
Tech Reality Check
The real danger is:
- Lost context
- Unknown execution order
- Legacy logic surviving cleanup
- Undocumented dependencies
To Be Continued…
WEEK 4 - When Fixing Workflows Broke Self-Service & Deflection
Read Week 2 here - https://community.atlassian.com/forums/Jira-Cloud-Admins-articles/WEEK-2-The-JSM-Meltdown-When-SLAs-Started-Bleeding-Red/ba-p/3163150