HipChat notification color overridden by build status

This commit is contained in:
David Eisner 2016-01-06 16:01:48 +00:00 committed by Rémy Coutable
parent e9946f19a5
commit 189e3b575a

View file

@ -46,7 +46,7 @@ class HipchatService < Service
return unless supported_events.include?(data[:object_kind])
message = create_message(data)
return unless message.present?
gate[room].send('GitLab', message, message_options)
gate[room].send('GitLab', message, message_options(data))
end
def test(data)
@ -67,8 +67,8 @@ class HipchatService < Service
@gate ||= HipChat::Client.new(token, options)
end
def message_options
{ notify: notify.present? && notify == '1', color: color || 'yellow' }
def message_options(data)
{ notify: notify.present? && notify == '1', color: build_status_color(data) || color || 'yellow' }
end
def create_message(data)
@ -240,6 +240,14 @@ class HipchatService < Service
"#{project_link}: Commit #{commit_link} of #{branch_link} #{ref_type} by #{user_name} #{humanized_status(status)} in #{duration} second(s)"
end
def build_status_color(data)
if data[:commit][:status] == 'success'
'green'
else
'red'
end if data[:object_kind] == 'build'
end
def project_name
project.name_with_namespace.gsub(/\s/, '')
end