Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • G gitlabhq1
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 21
    • Issues 21
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 12
    • Merge requests 12
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • gpt
  • large_projects
  • gitlabhq1
  • Issues
  • #2915

Closed
Open
Created Feb 05, 2013 by Administrator@rootOwner

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.

Assignee
Assign to
Time tracking