New cycle analytics backend stage events
What does this MR do?
This MR implements validation for the ProjectStage
model and introduces StageEvents
.
- A
StageEvent
can be assigned to aProjectStage
asstart_event
orend_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