Skip to content

Support creating an MR/branch on a fork from an issue

Patrick Bajao requested to merge 58583-confidential-mr-branch-backend into master

What does this MR do?

This MR contains backend changes that will be used by the frontend to create MR/branch on a private fork.

The MergeRequests::CreateFromIssueService has been updated to accept a target_project_id which can be any fork of the issue's project. If it's set, the MR/branch will be created on that project instead of the issue's project.

The Projects::BranchesController#create endpoint has also been updated to accept a confidential_issue_project_id. This is needed so we can create a system note on the issue where the branch on private fork was created from.

The create_confidential_merge_request feature flag is used here to not pass the target_project_id to service object and to ignore confidential_issue_project_id if not enabled.

#58583 (closed)

Does this MR meet the acceptance criteria?

Conformity

Performance and testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • [-] Label as security and @ mention @gitlab-com/gl-security/appsec
  • [-] The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • [-] Security reports checked/validated by a reviewer from the AppSec team
Edited by 🤖 GitLab Bot 🤖

Merge request reports