diff --git a/gitlab-webhook.go b/gitlab-webhook.go index 4aa0cfac77b1461043ed8b967cd41ad43adb0bff..f8393ca1fc708d1fcc0585f83a82f6e8b4f4dc00 100644 --- a/gitlab-webhook.go +++ b/gitlab-webhook.go @@ -101,9 +101,10 @@ func handlePushEvent(payload interface{}, header webhooks.Header) { fmt.Fprintln(&msg, "<ul>") for i := len(data.Commits) - 1; i >= 0; i-- { commit := data.Commits[i] - message := commit.Message - if strings.Contains(message, "\n") { - message = fmt.Sprintf("%s (...)", strings.Split(message, "\n")[0]) + lines := strings.Split(commit.Message, "\n") + message := lines[0] + if len(lines) > 1 && len(strings.Join(lines[1:], "")) > 0 { + message += " (...)" } fmt.Fprintf(&msg, "<li>%s (%s)</li>\n", message, commit.ID[:8]) } @@ -112,9 +113,10 @@ func handlePushEvent(payload interface{}, header webhooks.Header) { } else { for i := len(data.Commits) - 1; i >= 0; i-- { commit := data.Commits[i] - message := commit.Message - if strings.Contains(message, "\n") { - message = fmt.Sprintf("%s (...)", strings.Split(message, "\n")[0]) + lines := strings.Split(commit.Message, "\n") + message := lines[0] + if len(lines) > 1 && len(strings.Join(lines[1:], "")) > 0 { + message += " (...)" } room.SendfHTML("<ul><li>%s (%s)</li></ul>", message, commit.ID[:8]) }