Migrate “Status checks” to go under Settings > Merge Requests, after Merge checks.
This is the frontend implementation issue
Problem to solve
Merge Request (MR) Approval Rules are meant to map to specific users that can take action on approving Merge Requests. As a result, Status checks does not align with the intent of that feature so they will be relocated in the UI as another Merge Request setting.
Proposal
- Remove status checks as an approval rule option.
- Add
Status checks
afterMerge checks
, reusing the majority of the table/modal components from MR Approval Rules
Design
Is this a cross-stage feature?
Implementation
I think this will be a weight of
- Add a new application under merge checks
- See if we can reuse code from
ee/app/assets/javascripts/approvals/components/project_settings/app.vue
- See if we can reuse code from
- Add a store to CRUD the status checks
- Reuse the store code from #300973 (closed)
- Add a list view for the status checks
- Using the
ApprovalGateIcon
(we can probably rename this) - With a edit button
- With a delete button
- Using the
- Add a
Add status check
button and open the create model when clicked - Add a create modal
- Can reuse parts of
ee/app/assets/javascripts/approvals/components/modal_rule_create.vue
- Can reuse parts of the
RuleForm
- No need to use the approval type selection
- Can reuse parts of
- Add a edit modal
- Can reuse parts of
ee/app/assets/javascripts/approvals/components/modal_rule_create.vue
- Can reuse parts of
- Add a delete modal
- Can reuse parts of
ee/app/assets/javascripts/approvals/components/modal_rule_remove.vue
- Can reuse parts of
Moved to #332017 (closed):
- Undo the changes made to approvals in #300973 (closed)
- Update the feature specs and add new ones for status checks
Follow-up: Look at moving similar code to a shared usage between approval rules and status checks
Edited by Robert Hunt