Existing defects not appearing in requirements coverage reports after workflow migration

We have an incorrect view of defect coverage after migrating our workflow scheme. Requirements and defects are in separate projects (REQ and DEF), and we use issue links for coverage reporting. After changing the workflow scheme and migrating issues to new statuses, existing defects stopped appearing in our requirements coverage reports.

Setup:

  • REQ project: Requirements with custom “Verified By” link type to defects
  • DEF project: Defects that verify requirements
  • Coverage report uses JQL to find requirements with linked defects
  • Workflow migration changed status names but preserved status categories

Problem:

Our coverage report JQL used to work:


project = REQ AND issueFunction in linkedIssuesOf("project = DEF AND status = Closed")

After migration, this returns zero results even though:

  • Links between REQ and DEF issues still exist (verified manually)
  • Defects are in the new “Verified” status (maps to Done category)
  • Old “Closed” status was renamed to “Verified”

We updated the JQL to use new status name but still get incomplete results. Some requirements show linked defects, others don’t, even though the links exist. Suspect the issue is related to workflow scheme migration effects or indexing. Do we need to update JQL after workflow changes? Should we reindex after structural changes?

Cross-project links can have indexing issues when workflows change. The link direction matters too - are you using inward or outward links? If your “Verified By” link type has direction, make sure your JQL is querying the correct direction. Also check if any of the missing defects have null or empty status after migration - sometimes workflow migrations fail to set status properly on all issues.

I bet the remaining 15% of issues have data inconsistencies from the migration. Run this JQL to find defects with potential issues:


project = DEF AND status is EMPTY OR statusCategory is EMPTY

Any results need manual fixing. Also check for orphaned workflow entries in the database - sometimes migrations leave behind stale workflow state that confuses queries.

The status category approach helped! Now getting about 85% coverage shown. Still have some requirements not showing linked defects though. Checked the links manually and they definitely exist. Is there something specific about cross-project links that could be affected by workflow migration?

Ran a full reindex overnight but the coverage report still shows gaps. About 60% of requirements now show their linked defects, but 40% are still missing. Could the JQL query itself be the problem? Should we be using status categories instead of status names after a workflow migration?