aboutsummaryrefslogtreecommitdiff
path: root/internal/route/repo
diff options
context:
space:
mode:
Diffstat (limited to 'internal/route/repo')
-rw-r--r--internal/route/repo/pull.go15
1 files changed, 15 insertions, 0 deletions
diff --git a/internal/route/repo/pull.go b/internal/route/repo/pull.go
index b6ae9875..38c04c7c 100644
--- a/internal/route/repo/pull.go
+++ b/internal/route/repo/pull.go
@@ -29,6 +29,7 @@ const (
PULL_FILES = "repo/pulls/files"
PULL_REQUEST_TEMPLATE_KEY = "PullRequestTemplate"
+ PULL_REQUEST_TITLE_TEMPLATE_KEY = "PullRequestTitleTemplate"
)
var (
@@ -37,6 +38,12 @@ var (
".gogs/PULL_REQUEST.md",
".github/PULL_REQUEST.md",
}
+
+ PullRequestTitleTemplateCandidates = []string{
+ "PULL_REQUEST_TITLE.md",
+ ".gogs/PULL_REQUEST_TITLE.md",
+ ".github/PULL_REQUEST_TITLE.md",
+ }
)
func parseBaseRepository(c *context.Context) *db.Repository {
@@ -637,6 +644,14 @@ func CompareAndPullRequest(c *context.Context) {
}
c.Data["IsSplitStyle"] = c.Query("style") == "split"
+ setTemplateIfExists(c, PULL_REQUEST_TITLE_TEMPLATE_KEY, PullRequestTitleTemplateCandidates)
+
+ if c.Data[PULL_REQUEST_TITLE_TEMPLATE_KEY] != nil {
+ customTitle := c.Data[PULL_REQUEST_TITLE_TEMPLATE_KEY].(string)
+ r := strings.NewReplacer("{{headBranch}}", headBranch,"{{baseBranch}}", baseBranch)
+ c.Data["title"] = r.Replace(customTitle)
+ }
+
c.Success(COMPARE_PULL)
}