[Backend] Filter compliance violations by branch names
Problem to solve
The compliance now shows individual merge request violations for all branches. This means it show violations across protected branches, such as main
, but also for one-off branches that may be used for experiments or for branches that don't need to be monitored. This makes it challenging for Cameron to find violations for the only branches they care about.
Proposed solution
Add the ability to filter compliance violations by an array of branch names. This should:
- Filter the violating merge requests by matching
target_branch
orsource_branch
. - By default filter by all branch names.
Implementation plan
backend with a weight of
- Add a
scope
to filter ComplianceViolation by the supplied branch names.- Consider reusing / copying
by_source_or_target_branch
. For examplescope :by_branches, -> (branch_names) { join_merge_requests.merge(MergeRequest.by_source_or_target_branch(branch_names)) }
.
- Consider reusing / copying
- Add a filter to the ComplianceViolationsFinder by branch names.
- Add
branch_names
to the list of compliance violation filters. - Update specs to cover filtering by branch names.
- Update documentation.
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.