Merge Request chat messages have wrong action

Summary

Merge Request chat messages (e.g. in Slack) have the wrong action listed.

Steps to reproduce

Add Slack (or another chat system) integration, then approve (or unapprove) a MR. Observe the wrong action listed.

What is the current bug behavior?

The chat message always display "opened" or "closed", not "approved" or "unapproved".

What is the expected correct behavior?

Display the action taken, as listed in the action field of the webhook, or the state field if the MR is being closed.

Output of checks

This bug happens on GitLab.com.

Possible fixes

The bug is in the state_or_action_text method:

https://gitlab.com/gitlab-org/gitlab-ce/blob/master/app/models/project_services/chat_message/merge_message.rb#L68