diff options
-rw-r--r-- | app/models/project_services/hipchat_service.rb | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/app/models/project_services/hipchat_service.rb b/app/models/project_services/hipchat_service.rb index 9c6fe7dab21..48fe365760b 100644 --- a/app/models/project_services/hipchat_service.rb +++ b/app/models/project_services/hipchat_service.rb @@ -18,6 +18,8 @@ # class HipchatService < Service + MAX_COMMITS = 3 + validates :token, presence: true, if: :activated? def title @@ -64,8 +66,13 @@ class HipchatService < Service message << "pushed to branch <a href=\"#{project.web_url}/commits/#{ref}\">#{ref}</a> " message << "of <a href=\"#{project.web_url}\">#{project.name_with_namespace.gsub!(/\s/,'')}</a> " message << "(<a href=\"#{project.web_url}/compare/#{before}...#{after}\">Compare changes</a>)" - for commit in push[:commits] do - message << "<br /> - #{commit[:message]} (<a href=\"#{commit[:url]}\">#{commit[:id][0..5]}</a>)" + + push[:commits].take(MAX_COMMITS).each do |commit| + message << "<br /> - #{commit[:message].lines.first} (<a href=\"#{commit[:url]}\">#{commit[:id][0..5]}</a>)" + end + + if push[:commits].count > MAX_COMMITS + message << "<br />... #{push[:commits].count - MAX_COMMITS} more commits" end end |