API: creation of merge request does not check if source / target branch exists
Created by: justahero
Creating a merge request via API (POST /projects/:id/merge_requests
) does not check if either source_branch
or target_branch
exist. For example, the json payload { "target_branch":"master", "source_branch":"foo","title":"Test"}
creates a merge request with the non-existing source_branch
"foo". It is listed on the merge requests page (either dashboard or for the project) but when selecting the entry a 404 error is given.
I suggest to check if source_branch
and target_branch
reference existing branches and
return an appropriate error code if not.
For this the API needs to determine all existing branches for the given project (with project id) and the user, specified by the private token. The UI client does not allow the creation of a merge request with branches that do not exist.