diff options
-rw-r--r-- | fun/clbot/clbot.go | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/fun/clbot/clbot.go b/fun/clbot/clbot.go index a97d28e0f73d..317d99e22f05 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 |