--- a/bitbucket/keywords.go Thu Jan 16 02:32:47 2020 -0600
+++ b/bitbucket/keywords.go Fri Jan 17 23:06:39 2020 -0600
@@ -13,6 +13,7 @@
mentionRegex = regexp.MustCompile(`@\{(.+?)\}`)
prIssueRegex = regexp.MustCompile(`(([Pp][Rr])\s+)?(\\)?#(\d+)`)
csetRegex = regexp.MustCompile(`→ <<cset (.+?)>>`)
+ hashRegex = regexp.MustCompile(`\b([a-fA-F0-9]{40})\b`) func replaceMentions(m map[string]*youtrack.User, message string) string {
@@ -68,7 +69,7 @@
replacement := fmt.Sprintf(
+ "* **commit**: %s@%s\n", @@ -79,12 +80,32 @@
+func replaceCommitHashes(repository, message string) string { + matches := hashRegex.FindAllStringSubmatch(message, -1) + for _, match := range matches { + replacement := fmt.Sprintf( + output = strings.Replace(output, old, replacement, 1) func replaceKeywords(m map[string]*youtrack.User, nIssues int, projectID, repository, message string) string {
output = replaceMentions(m, output)
output = replacePullRequestsIssues(nIssues, repository, projectID, output)
output = replaceChangeSets(repository, output)
+ output = replaceCommitHashes(repository, output)