Draft: Resolve "[Backend] Filter compliance violations by branch names"
What does this MR do and why?
Describe in detail what your merge request does and why.
Query plans
Query | Time |
---|---|
Default | 774.566 ms |
Default + by_target_branches: ['main'] |
507.444 ms |
Default + by_target_branches: ['main', 'master', 'staging'] |
1.134 s |
How to set up and validate locally
mr = MergeRequest.find_by_title("Merge protected into main");
group = mr.project.group
user = User.find_by_id(1)
filters = { merged_after: Date.parse("2022-04-19"), merged_before: Date.parse("2022-05-19"), sort: 'SEVERITY_LEVEL_ASC', target_branches: ['main', 'master', 'staging'] }
# Add .to_sql to get the raw query
::ComplianceManagement::MergeRequests::ComplianceViolationsFinder.new(current_user: user, group: group, params: filters).execute
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Related to #358411 (closed)
Edited by Jiaan Louw