Export merge requests to CSV like already possible for issues

Description

I want to be able to export merge requests to CSV like possible for issues.

Solution

On the Merge Requests index, add a button to "Export as CSV" (like the one on the Issues index). Clicking this button would cause a CSV file to be downloaded with these columns:

CSV schema

Column Description
MR ID MR iid
URL A link to the merge request on GitLab
Title Merge request title
State Opened, Closed, Locked, or Merged
Description Merge request description
Source Branch Source branch
Target Branch Target branch
Source Project ID ID of the source project
Target Project ID ID of the target project
Author Full name of the merge request author
Author Username Username of the author, with the @ symbol omitted
Assignees Full names of the merge request assignees, joined with a ,
Assignee Usernames Username of the assignees, with the @ symbol omitted
Approvers Full names of the approvers, joined with a ,
Approver Usernames Username of the approvers, with the @ symbol omitted
Merged User Full name of the merged user
Merged Username Username of the merge user, with the @ symbol omitted
Milestone ID ID of the merge request milestone
Created At (UTC) Formatted as YYYY-MM-DD HH:MM:SS
Updated At (UTC) Formatted as YYYY-MM-DD HH:MM:SS

UI

Screen_Shot_2020-07-14_at_4.40.19_PM

Links / references

https://docs.gitlab.com/ee/user/project/issues/csv_export.html

Feature checklist

Make sure these are completed before closing the issue, with a link to the relevant commit.

Edited by Tan Le