Backport of 'Fix work item status fallback to use lifecycle-aware default'

What does this MR do and why?

This MR backports a bug fix from Fix work item status fallback to use lifecycle-... (!208414 - merged).

Details

When work items lack a current status record, they were incorrectly falling back to the system-defined default status (open/closed/duplicated) even when a namespace transitioned to using custom lifecycles and statuses.

This MR updates the status_with_fallback method to:

  • Fetch the appropriate lifecycle for the work item's root namespace.
  • Implement SafeRequestStore caching for performance optimization.
  • Handle both custom and system-defined lifecycles properly.

Notes

  • Since the MVC2 of configurable work item statuses was released in %18.5 (with the FF enabled by default), we only need to create a single backport MR targeting the %18.5 stable branch.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

  • This MR is backporting a bug fix, documentation update, or spec fix, previously merged in the default branch.
  • The MR that fixed the bug on the default branch has been deployed to GitLab.com (not applicable for documentation or spec changes).
  • The MR title is descriptive (e.g. "Backport of 'title of default branch MR'"). This is important, since the title will be copied to the patch blog post.
  • Required labels have been applied to this merge request
  • Set the milestone of the merge request to match the target backport branch version.
  • This MR has been approved by a maintainer (only one approval is required).
  • Ensure the e2e:test-on-omnibus-ee job has either succeeded or been approved by a Software Engineer in Test.

Note to the merge request author and maintainer

If you have questions about the patch release process, please:

Edited by Heinrich Lee Yu

Merge request reports

Loading