We’re facing a critical compliance issue where our defect audit log is missing some status transitions. This happens specifically when defects are bulk-edited through workflow actions or when custom post-functions execute.
The problem appears when:
- Bulk transitioning 50+ defects from “In Progress” to “Ready for Test”
- Custom post-function updates related fields during transition
- Scripted listeners trigger additional workflow changes
Our regulatory audit reports require complete traceability of all defect lifecycle changes. We’ve verified the workflow post-functions are executing, but the audit history doesn’t reflect all transitions. Issue history shows the final state but intermediate steps are missing.
Example transition that’s not logged:
Defect: DEF-1234
Transition: In Progress → Ready for Test (bulk edit)
Post-function: Auto-assign to test team
Result: Audit shows direct jump, missing intermediate state
Is this related to how Jira indexes issue history during bulk operations? Should we be using standard workflow events instead of scripted listeners?
Have you checked the issue history indexing queue? Sometimes during bulk operations, especially with 50+ issues, the indexing can lag behind the actual changes. You might need to trigger a manual re-index of the affected projects to populate the missing audit entries. Also, verify that your scripted listeners are using standard Jira events rather than custom triggers - standard events integrate better with the audit system.
I’ve seen similar behavior with custom post-functions. The issue is typically that bulk operations batch the changes and the audit indexing happens asynchronously. When post-functions fire during bulk transitions, they may complete before the initial transition is fully indexed. Check if your post-functions are modifying the issue in the same transaction - this can cause the audit trail to collapse multiple changes into a single entry. Are you using ScriptRunner or native Jira post-functions?
Yes, that’s exactly the issue. Custom event triggers in scripted listeners don’t integrate with Jira’s native audit logging the same way standard events do. The audit log relies on specific workflow events being fired through Jira’s core event system.