Add WorkItems::SystemDefined::Type class with data

What does this MR do and why?

This code creates a new system for managing different types of work items (like issues, tasks, tickets, etc.)

The main change introduces a structured way to define work item types with their properties (name, icon, base type) through configuration modules. It includes basic types like Issue, Task, Incident, and Ticket in the core system, plus premium/enterprise types like Epic, Objective, Key Result, Requirement, and Test Case.

The system provides functionality to:

  • Find and filter work items by type
  • Define parent-child relationships between different work item types (like epics containing issues)
  • Control which types can be converted to other types
  • Sort and organize types by name

The code also enhances an existing "fixed items model" framework to support both constant-based and method-based item definitions, making it more flexible for defining static data structures.

Overall, this creates a foundation for a hierarchical work item system where different types of work (epics, issues, tasks, etc.) can be organized and managed with proper relationships and access controls.

References

519894

Screenshots or screen recordings

Before After

How to set up and validate locally

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Stefanos Xanthopoulos

Merge request reports

Loading