Linked defect issues stop syncing status back to original requirement

Our Jira 8 setup links requirements in one project to defects in another. We built a global automation rule that watches for defect status changes and updates a “Verification Status” field on the linked requirement. This worked fine until we split one large project into three smaller ones and changed the project keys. Now the automation rule fires but doesn’t update the requirements consistently. The rule uses this JQL:


issueFunction in linkedIssuesOf("project = DEF")

Test readiness dashboards show requirements stuck in old verification states even though all linked defects are closed. We need to backfill the correct states for about 800 requirements and fix the automation rule. Anyone dealt with cross-project link issues after project restructuring?

For the backfill, you can use the Jira REST API to query each requirement, get its linked defects, check their statuses, and update the verification field. I wrote a Python script that does exactly this for our requirements. It takes about 10 minutes to process 1000 requirements. You could schedule it to run nightly to keep everything in sync. I can share a pseudocode outline if that helps.

You’re hitting a limitation of Jira automation rules-they can’t easily evaluate all linked issues in aggregate. The rule fires per defect transition, so it only sees the one defect that changed. To properly calculate requirement verification status, you’d need to query all linked defects and check their statuses, then set the requirement field based on the aggregate result. That requires a scripted post-function or a scheduled automation rule that periodically recalculates verification status for all requirements.

Here’s the basic flow:


// Pseudocode - Requirement verification sync:
1. Query all requirements with linkedIssues
2. For each requirement, fetch linked defects via REST
3. Aggregate defect statuses: all closed = Verified, any open = Partial, none = Not Started
4. Update requirement Verification Status field via REST PUT
5. Log any failures for manual review

Run this as a scheduled job. For real-time, keep your automation rule but make it simpler-just flag the requirement as “Needs Verification Review” whenever any linked defect changes. Then the scheduled job recalculates the actual status.