Skip to content

Merge Request Update POST returns 200 with no change #2613

Closed
@cmilhaupt

Description

@cmilhaupt

Description of the problem, including code/CLI snippet

I'm using the code snippet here to update reviewers on a merge request, but the "Reviewers" field isn't updating despite gitlab returning "200 OK" after the POST request is sent.

Expected Behavior

A valid POST request with the reviewer_ids field set to an integer array updates the reviewers on the merge request. E.g.

mr.reviewer_ids = [1001, 1002, 1003]
mr.save()

should return

{'id': ...
 'reviewers': [{'id': 1001, 'username': ...}, {'id': 1002, 'username': ...}, {'id': 1003, 'username': ...}],
...
}

Actual Behavior

Turning on http debugging for the above python, I can see the POST request get sent and the gitlab server responds with a 200 OK:

send: b'PUT /api/v4/projects/31242/merge_requests/18 HTTP/1.1\r\nHost: REDACTED\r\nUser-Agent: python-gitlab/3.15.0\r\nAccept-Encoding: gzip, deflate\r\nAccept: */*\r\nConnection: keep-alive\r\nPRIVATE-TOKEN: REDACTED\r\nContent-type: application/json\r\nContent-Length: 36\r\n\r\n'
send: b'{"reviewer_ids": [1001, 1002, 1003]}'
reply: 'HTTP/1.1 200 OK\r\n'

And dumping the updated fields returned shows no reviewers:

{'id': ...
 'reviewers': [],
...
}

Specifications

  • python-gitlab version: 3.15.0
  • API version you are using (v3/v4): v4
  • Gitlab server version (or gitlab.com): GitLab Enterprise Edition 15.7.5-ee

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions