From 7e3308df64029380e4f26f1aa437afcd3097518b Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Fri, 10 Dec 2021 14:59:25 +0300 Subject: feat(fun/clbot): Add distinct messages for auto-submitted CLs Detects autosubmitted CLs (other people's CLs submitted by clbot) and modifies the text submitted to IRC accordingly. If a CL is autosubmitted, we opt to highlight its author rather than invoking noping. Change-Id: Ibc21b7eeb2f0f2087097404baef6976384d68b09 --- fun/clbot/clbot.go | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'fun') diff --git a/fun/clbot/clbot.go b/fun/clbot/clbot.go index a97d28e0f7..317d99e22f 100644 --- a/fun/clbot/clbot.go +++ b/fun/clbot/clbot.go @@ -249,8 +249,19 @@ func main() { if e.Change.Project != *notifyRepo || !notifyBranches[e.Change.Branch] { continue } - user := username(e.PatchSet) - parsedMsg = nopingAll(user, fmt.Sprintf("CL/%d applied by %s - %s - %s", e.Change.Number, user, e.Change.Subject, patchSetURL(e.Change, e.PatchSet))) + owner := username(e.PatchSet) + submitter := e.Submitter.Username + url := patchSetURL(e.Change, e.PatchSet) + + if submitter != owner && submitter == "clbot" { + // Ping CL author on IRC for autosubmitted messages, as this + // is not necessarily an action they would otherwise notice. + // We avoid pinging only for actions triggered by the same + // user. + parsedMsg = fmt.Sprintf("CL/%d by %s autosubmitted - %s - %s", e.Change.Number, owner, e.Change.Subject, url) + } else { + parsedMsg = nopingAll(owner, fmt.Sprintf("CL/%d applied by %s - %s - %s", e.Change.Number, owner, e.Change.Subject, url)) + } } if parsedMsg != "" { sendMsgChan <- parsedMsg -- cgit 1.4.1