MR approval: eligible-approver is unable to approve MR.

self managed Gitlab CE 12.1.x

I believe this worked around the gitlab ~11.2 time frame.

Scenario is: "User X" is Developer in "Group" "Project" has "Group" as Member, with "Group" having Maintainer access level.

User is unable to press the Merge button of a MR. The MR was originated by "User X" and wants to Merge his own MR.

The Merge button is blanked out and description says: "Ready to be merged automatically. Ask someone with write access to this repository to merge this request"

As far as I understand the user is an eligible approver: help/user/project/merge_requests/merge_request_approvals.md#eligible-approvers => An individual user can be added as an approver for a project if they are a member of:
=> * A group that has access to the project via a share.

Did perhaps the new features "Prevent approval of merge requests by their committers" (Starter 11.3) or "Prevent approval of merge requests by their committers" (Starter 11.10) break that behavior?

Steps to recreate

Omnibus

Fresh installation of gitlab CE Omnibus 12.1 log in as root

  • create private project /root/test
    • initialize the repo with a file (eg, http://localhost/root/test/new/master?commit_message=Add+README.md&file_name=README.md)
  • create private group /test-group
  • create user "test-user"
  • add user "test-user" to /test-group, as Developer
  • add /test-group as member to project /root/test , as Maintainer

As 'test-user'

  • fork /root/test => /test-user/test
  • make a dummy change to /test-user/test (eg, to README.md)
  • create a MR : http://localhost/test-user/test/merge_requests
    • source: test-user/test:master target: /root/test:master (master!!)
  • examine MR : http://localhost/root/test/merge_requests/1
    • the "MERGE" button is grayed out and says "Ready to be merged automatically. Ask someone with write access to this repository to merge this request"

GitLab.com

  • "jansmets" account
    • group: /jansmets-test-group
      • added account "jansmets-work" as Developer
    • project: /jansmets/test
      • added group /jansmets-test-group as Maintainer
  • "jansmets-work" account
    • fork /jansmets/test => https://gitlab.com/jansmets-work/test/
    • make dummy change to /jansmets-work/test/
    • create MR => jansmets/test!1
      • MERGE button also grayed out.

Thanks

Edited Aug 28, 2019 by Kyle Wiebers
Assignee Loading
Time tracking Loading