lib/capistrano/tasks/slackify.cap in capistrano-slackify-2.9.0 vs lib/capistrano/tasks/slackify.cap in capistrano-slackify-2.10.0

- old
+ new

@@ -5,14 +5,15 @@ run_locally do set :time_started, Time.now.to_i if fetch(:slack_notify_events).include? :started info 'Notifying Slack of deploy starting' - - execute :curl, '-X POST', '-s', '--data-urlencode', - Slackify::Payload.build(self, :starting), - fetch(:slack_url) + Array(fetch(:slack_channel)).each {|channel| + execute :curl, '-X POST', '-s', '--data-urlencode', + Slackify::Payload.build(self, :starting, channel), + fetch(:slack_url) + } end end end before 'deploy:starting', 'slack:notify_started' @@ -22,15 +23,16 @@ run_locally do set :time_finished, Time.now.to_i if fetch(:slack_notify_events).include? :finished info 'Notifying Slack of deploy finished' - - execute :curl, '-X POST', '-s', '--data-urlencode', - Slackify::Payload.build(self, :success), - fetch(:slack_url) - end + Array(fetch(:slack_channel)).each {|channel| + execute :curl, '-X POST', '-s', '--data-urlencode', + Slackify::Payload.build(self, :success, channel), + fetch(:slack_url) + } + end end end after 'deploy:finished', 'slack:notify_finished' desc 'Notify Slack of a deployment failure via the incoming webhooks ' \ @@ -40,21 +42,23 @@ set :time_finished, Time.now.to_i if fetch(:slack_notify_events).include? :failed info 'Notifying Slack of deploy failed' - execute :curl, '-X POST', '-s', '--data-urlencode', - Slackify::Payload.build(self, :failed), - fetch(:slack_url) + Array(fetch(:slack_channel)).each {|channel| + execute :curl, '-X POST', '-s', '--data-urlencode', + Slackify::Payload.build(self, :failed, channel), + fetch(:slack_url) + } end end end after 'deploy:failed', 'slack:notify_failed' end namespace :load do task :defaults do - set :slack_channel, '#general' + set :slack_channel, ['#general'] set :slack_username, 'Capistrano' set :slack_emoji, ':ghost:' set :slack_parse, 'default' set :slack_user, -> { local_user.strip } set :slack_fields, ['status', 'stage', 'branch', 'revision', 'hosts']