Approval and Unapproval Merge request event actions

Summary

The merge event actions added in !8742 (merged) ("approval", "unnapproval") don't seem to be applied. When any number of approvers unapprove an MR, the action is always "unapproved" even if the MR is still considered approved.

Steps to reproduce

  1. Open a Merge Request that requires 1 approval
  2. Get approval from 2 different reviewers
  3. One of the reviewers removes its approval

Example Project

What is the current bug behavior?

The action in the MR event when one of the reviewers removes its approval is "unapproved" even though the MR is still approved by a reviewer and is mergeable. The same thing applies to approvals.

What is the expected correct behavior?

The action in the MR event should be "unapproval".

Relevant logs and/or screenshots

Output of checks

Results of GitLab environment info

We are enterprise customers using gitlab.com

Results of GitLab application Check

Possible fixes

The code in app/services/merge_requests/remove_approval_service.rb#L46 doesn't take into account the "approval" and "unapproval" actions. Whereas the code in ee/app/services/ee/merge_requests/remove_approval_service.rb does.

Patch release information for backports

If the bug fix needs to be backported in a patch release to a version under the maintenance policy, please follow the steps on the patch release runbook for GitLab engineers.

Refer to the internal "Release Information" dashboard for information about the next patch release, including the targeted versions, expected release date, and current status.

High-severity bug remediation

To remediate high-severity issues requiring an internal release for single-tenant SaaS instances, refer to the internal release process for engineers.

Edited by 🤖 GitLab Bot 🤖