How to remove merge request from GitLab server
Web UI Option
Today I discovered a way to do this with the Web UI.
So for Merge Request 14
https://gitlab.example.com/MyGroup/MyProject/merge_requests/14/edit
On the bottom Right you should see a red Delete button.
PowerShell Option
Invoke-RestMethod -Method Delete -Uri 'https://gitlab.example.com/api/v4/projects/PROJECT_ID_GOES_HERE/merge_requests/14' -Headers @{'PRIVATE-TOKEN'='PRIVATE_TOKEN_GOES_HERE'}
Yes, there is.... I could not find a way to remove the merge request in the user interface, but you can simply delete it from the database.
(Please note, that I only tested this on gitlab CE 8.4.0-ce.0 on Ubuntu 14.04.3 LTS.. Other versions may have a different database structure)
At a command prompt, execute the following command (as root):
sudo -u gitlab-psql /opt/gitlab/embedded/bin/psql -h /var/opt/gitlab/postgresql -d gitlabhq_production
This will bring up a PostgreSQL command terminal. Next, you'll have to find the merge request you'd like to delete. Type the following at the PostgreSQL command terminal:
select id, title from merge_requests;
You'll get a list of merge request ids and titles. Find the one you'd like to delete and note the id
OK, let's say you've found the merge request you'd like to delete and the id
is 5
. You're simply going to delete all the data associated with that merge request using the following SQL commands. (Substitute 5
in the commands below with your actual merge request id
)
delete from merge_requests where id = 5;
delete from merge_request_diffs where merge_request_id = 5;
delete from notes where noteable_type = 'MergeRequest' and noteable_id = 5;
You can now exit out of the PostgreSQL command terminal by typing:
\q
Your merge request should now be gone from the web interface.