feat: Notify when updating comment (not just commenting)

This commit is contained in:
xmppftw xmppftw 2026-06-23 17:29:43 +02:00
commit 23745d6829
3 changed files with 12 additions and 3 deletions

View file

@ -77,6 +77,7 @@ impl From<FjIssue> for Note {
.comment .comment
.map(|c| c.html_url) .map(|c| c.html_url)
.unwrap_or(other.issue.html_url), .unwrap_or(other.issue.html_url),
is_update: other.action == FjIssueAction::Edited,
} }
} }
} }

View file

@ -109,19 +109,26 @@ pub fn format_hook(hook: &Hook) -> Option<String> {
if note.snippet { if note.snippet {
return None; return None;
} }
let updated_fmt = if note.is_update {
"updated comment"
} else {
"commented"
};
if let Some(commit) = &note.commit { if let Some(commit) = &note.commit {
format!( format!(
"[{}] {} commented on commit {:?} <{}>", "[{}] {} {updated_fmt} on commit {:?} <{}>",
note.repository.name, note.author.name, commit.ref_, commit.url, note.repository.name, note.author.name, commit.ref_, commit.url,
) )
} else if let Some(issue) = &note.issue { } else if let Some(issue) = &note.issue {
format!( format!(
"[{}] {} commented on issue {}: {} <{}>", "[{}] {} {updated_fmt} on issue {}: {} <{}>",
note.repository.name, note.author.name, issue.id, issue.title, note.url, note.repository.name, note.author.name, issue.id, issue.title, note.url,
) )
} else if let Some(mr) = &note.merge_request { } else if let Some(mr) = &note.merge_request {
format!( format!(
"[{}] {} commented on merge request {}: {} <{}>", "[{}] {} {updated_fmt} on merge request {}: {} <{}>",
note.repository.name, note.author.name, mr.id, mr.title, note.url, note.repository.name, note.author.name, mr.id, mr.title, note.url,
) )
} else { } else {

View file

@ -116,6 +116,7 @@ pub struct Note {
pub repository: Repository, pub repository: Repository,
pub author: User, pub author: User,
pub url: String, pub url: String,
pub is_update: bool,
} }
#[derive(Debug, Clone, PartialEq)] #[derive(Debug, Clone, PartialEq)]