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