Skip to content

Support multiple assignees for merge requests

Oswaldo Ferreira requested to merge osw-multi-assignees-merge-requests-ee into master

What does this MR do?

It has the feature code changes required in order to support multiple assignees for merge requests, it includes:

  • Notifications
  • General multi-user layout selects (reused from Issues)
  • It creates the relation based on the deprecated assignee_id if the feature flag is OFF. That means we use the new relation regardless of the feature flag being ON or OFF. There'll be another MR to automatically enable the feature flag when the background migrations finishes running (https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/26496)
  • It removes the belongs_to :assignee but still don't remove the assignee_id column. This should come in a next release.

To be handled in a separate MR

  • Background job to automatically enable the feature flag once the background migration is done. We need to have a way to enable it for self-hosted instances
  • Docs update

TODO

  • Create migration
  • Create population post-deploy migrations
  • Make use of existing Vue components on MR sidebar assignees
  • Assignee assign / unassign is not working properly (UI)
  • Add 'cannot merge' tooltip
  • Present multiple-assignees for MR lists
  • Present multiple-assignees for approval emails
  • Try to fix QA reusing logic from app/views/shared/issuable/form/_merge_request_assignee.html.haml
  • Assignee assign / unassign notes are not being created
  • Assignee assign / unassign quick action is not working properly

Screenshots

Emails

Screen_Shot_2019-03-29_at_20.25.54

Screen_Shot_2019-03-29_at_20.26.08

MR list and sidebar

Screen_Shot_2019-03-29_at_20.27.13

Screen_Shot_2019-03-29_at_20.27.49

What are the relevant issue numbers?

Closes https://gitlab.com/gitlab-org/gitlab-ee/issues/2004

Does this MR meet the acceptance criteria?

Edited by Nick Thomas

Merge request reports