diff --git a/app/api/controller/pullreq/merge.go b/app/api/controller/pullreq/merge.go index 4eb7efabbf..8382f7661a 100644 --- a/app/api/controller/pullreq/merge.go +++ b/app/api/controller/pullreq/merge.go @@ -247,6 +247,7 @@ func (c *Controller) Merge( SourceSHA: mergeOutput.HeadSHA, }) + var branchDeleted bool if ruleOut.DeleteSourceBranch { errDelete := c.gitRPCClient.DeleteBranch(ctx, &gitrpc.DeleteBranchParams{ WriteParams: sourceWriteParams, @@ -255,11 +256,14 @@ func (c *Controller) Merge( if errDelete != nil { // non-critical error log.Ctx(ctx).Err(errDelete).Msgf("failed to delete source branch after merging") + } else { + branchDeleted = true } } return types.MergeResponse{ SHA: sha, + BranchDeleted: branchDeleted, RuleViolations: violations, }, nil } diff --git a/types/pullreq.go b/types/pullreq.go index ee925dbd34..d93a797309 100644 --- a/types/pullreq.go +++ b/types/pullreq.go @@ -140,6 +140,7 @@ type PullReqFileView struct { type MergeResponse struct { SHA string `json:"sha,omitempty"` + BranchDeleted bool `json:"branch_deleted"` ConflictFiles []string `json:"conflict_files,omitempty"` RuleViolations []RuleViolations `json:"rule_violations,omitempty"` }