From fd96e86f806cf8a2881a77a476f4ae187d6c1d0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maxime=20=E2=80=9Cpep=E2=80=9D=20Buquet?= Date: Thu, 1 Jun 2023 12:19:26 +0200 Subject: [PATCH] Push hook: implement branch removal MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Maxime “pep” Buquet --- src/webhook.rs | 41 +++++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/src/webhook.rs b/src/webhook.rs index a09d5dd..946697e 100644 --- a/src/webhook.rs +++ b/src/webhook.rs @@ -19,22 +19,31 @@ use log::debug; pub fn format_webhook(wh: &WebHook) -> Option { Some(match wh { WebHook::Push(push) => { - let mut text = format!( - "{} pushed {} commits to {} branch {}", - push.user_name, - push.commits.len(), - push.project.name, - push.ref_ - ); - for commit in &push.commits { - match commit.message.lines().nth(0) { - Some(subject) => { - text = format!("{}\n• {} <{}>", text, subject, commit.url); - } - None => {} - } - } - text + if push.commits.len() != 0 { + let mut text = format!( + "{} pushed {} commits to {} branch {}", + push.user_name, + push.commits.len(), + push.project.name, + push.ref_, + ); + for commit in &push.commits { + match commit.message.lines().nth(0) { + Some(subject) => { + text = format!("{}\n• {} <{}>", text, subject, commit.url); + } + None => {} + } + } + text + } else { + format!( + "{} deleted branch {} from {}", + push.user_name, + push.ref_, + push.project.name, + ) + } } WebHook::Issue(issue) => { let action = match issue.object_attributes.action {