Integrate group level to merge request level MR approval rules
<!--IssueSummary start--> <details> <summary> Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards. </summary> - [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=325680) </details> <!--IssueSummary end--> ## Why are we doing this work Users would like to integrate group-level MR approval settings into merge requests of children projects ## Relevant links - See https://gitlab.com/gitlab-org/gitlab/-/issues/293957 for high-level design. - Configure merge request approval rule via [UI](https://docs.gitlab.com/ee/user/project/merge_requests/merge_request_approvals.html#editing--overriding-approval-rules-per-merge-request) ## Functional requirements * Allow retrieving group-level approval rules via merge-request-level approval rules API - Public endpoint `GET /api/:version/project/:id/merge_requests/:merge_request_id/approval_rules` - Public endpoint `GET /api/:version/project/:id/merge_requests/:merge_request_id/approval_rules/:approval_rule_id` * Group-level approval rules should display when creating new MR and viewing existing MRr * User can edit/delete group-level approval rules ## Non-functional requirements * [-] Documentation: Not needed as it is behind a feature flag * [ ] Feature flag: `group_merge_request_approval_settings_feature_flag` * [-] Performance: * [ ] Testing: Ensure that the merge request approval rules works with feature flag/licensed disabled ## Implementation plan - [ ] ~backend Extend `ApprovalState` to support group (ie. `user_defined_rules` should account for group approval rules) <details> ```mermaid graph LR API::MergeRequestApprovalRules --> MergeRequest --> ApprovalState ApprovalState --> ApprovalMergeRequestRule ApprovalState --> ApprovalProjectRule ApprovalState --> ApprovalGroupRule ``` </details>
issue