Skip to content
Snippets Groups Projects

feat: thread google chat messages (fixes #27823)

Merged Chetan Sarva requested to merge csarva/gitlab:feature/thread-google-chat-messages into master
Files
2
@@ -47,8 +47,28 @@ def default_fields
private
def notify(message, opts)
url = webhook
key = parse_thread_key(message)
if key
url += "&threadKey=" + CGI.escape(key)
+2
end
simple_text = parse_simple_text_message(message)
::HangoutsChat::Sender.new(webhook).simple(simple_text)
::HangoutsChat::Sender.new(url).simple(simple_text)
end
# Returns an appropriate key for threading messages in google chat
def parse_thread_key(message)
case message
when Integrations::ChatMessage::NoteMessage
message.target
when Integrations::ChatMessage::IssueMessage
"issue #{Issue.reference_prefix}#{message.issue_iid}"
when Integrations::ChatMessage::MergeMessage
"merge request #{MergeRequest.reference_prefix}#{message.merge_request_iid}"
when Integrations::ChatMessage::PushMessage
"push #{message.ref}"
end
end
def parse_simple_text_message(message)
Loading