New cycle analytics backend stage events
What does this MR do?
This MR implements validation for the ProjectStage model and introduces StageEvents.
- A
StageEventcan be assigned to aProjectStageasstart_eventorend_event - Some events might not be compatible, to prevent "invalid" data, a mapping was introduced to define the valid combinations
- Express the default cycle analytics stages we currently provide with CE
Previous MR with the migrations and models: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/31621
Note 1: This MR is not exposing new features or changes to the end user, the main feature customizable cycle analytics has been split to multiple MRs to make the review process easier.
Note 2: You might wonder why the StageEvent classes look the same. Each StageEvent will contain query logic that is going to be prepared in the next MR.
Does this MR meet the acceptance criteria?
Conformity
- [-] Changelog entry for user-facing changes, or community contribution. Check the link for other scenarios.
- [-] Documentation created/updated or follow-up review issue created
-
Code review guidelines -
Merge request performance guidelines -
Style guides - [-] Database guides
- [-] Separation of EE specific content
Performance and Testing
Edited by Mayra Cabrera