Commit 4e0b6bf7 authored by Stan Hu's avatar Stan Hu

Merge branch '24347-dont-post-system-note-when-branch-creation-fails' into 'master'

Fix when branch creation fails don't post system note

Closes #24347

See merge request gitlab-org/gitlab-ce!16142
parents 54229d3e ac1b353e
...@@ -46,14 +46,16 @@ class Projects::BranchesController < Projects::ApplicationController ...@@ -46,14 +46,16 @@ class Projects::BranchesController < Projects::ApplicationController
result = CreateBranchService.new(project, current_user) result = CreateBranchService.new(project, current_user)
.execute(branch_name, ref) .execute(branch_name, ref)
if params[:issue_iid] success = (result[:status] == :success)
if params[:issue_iid] && success
issue = IssuesFinder.new(current_user, project_id: @project.id).find_by(iid: params[:issue_iid]) issue = IssuesFinder.new(current_user, project_id: @project.id).find_by(iid: params[:issue_iid])
SystemNoteService.new_issue_branch(issue, @project, current_user, branch_name) if issue SystemNoteService.new_issue_branch(issue, @project, current_user, branch_name) if issue
end end
respond_to do |format| respond_to do |format|
format.html do format.html do
if result[:status] == :success if success
if redirect_to_autodeploy if redirect_to_autodeploy
redirect_to url_to_autodeploy_setup(project, branch_name), redirect_to url_to_autodeploy_setup(project, branch_name),
notice: view_context.autodeploy_flash_notice(branch_name) notice: view_context.autodeploy_flash_notice(branch_name)
...@@ -67,7 +69,7 @@ class Projects::BranchesController < Projects::ApplicationController ...@@ -67,7 +69,7 @@ class Projects::BranchesController < Projects::ApplicationController
end end
format.json do format.json do
if result[:status] == :success if success
render json: { name: branch_name, url: project_tree_url(@project, branch_name) } render json: { name: branch_name, url: project_tree_url(@project, branch_name) }
else else
render json: result[:messsage], status: :unprocessable_entity render json: result[:messsage], status: :unprocessable_entity
......
---
title: Fix when branch creation fails don't post system note
merge_request:
author: Mateusz Bajorski
type: fixed
...@@ -148,6 +148,20 @@ describe Projects::BranchesController do ...@@ -148,6 +148,20 @@ describe Projects::BranchesController do
end end
end end
context 'when create branch service fails' do
let(:branch) { "./invalid-branch-name" }
it "doesn't post a system note" do
expect(SystemNoteService).not_to receive(:new_issue_branch)
post :create,
namespace_id: project.namespace,
project_id: project,
branch_name: branch,
issue_iid: issue.iid
end
end
context 'without issue feature access' do context 'without issue feature access' do
before do before do
project.update!(visibility_level: Gitlab::VisibilityLevel::PUBLIC) project.update!(visibility_level: Gitlab::VisibilityLevel::PUBLIC)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment