diff --git a/app/models/project_services/hipchat_service.rb b/app/models/project_services/hipchat_service.rb index 23e5b16221bfb34f957c628c6b2c1432ec181091..413200199b49d1f25b2ad1a4dd53a794d91d22b1 100644 --- a/app/models/project_services/hipchat_service.rb +++ b/app/models/project_services/hipchat_service.rb @@ -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