Closed chrishough closed 8 years ago
After a bit of tweaking I was able to get the testing message to pass... not sure what could have caused this.
module Slackistrano
class CustomMessaging < Messaging::Base
def channels_for(action)
super
end
# Supress updating message.
def payload_for_updating
nil
end
# Supress reverting message.
def payload_for_reverting
nil
end
# Fancy updated message.
# See https://api.slack.com/docs/message-attachments
# rubocop:disable Metrics/MethodLength
def payload_for_updated
{
attachments: [{
color: 'good',
title: 'Integrations Application Deployed :boom:',
fields: [{
title: 'Environment',
value: stage,
short: true
}, {
title: 'Branch',
value: branch,
short: true
}, {
title: 'Deployer',
value: deployer,
short: true
}, {
title: 'Time',
value: elapsed_time,
short: true
}],
fallback: super[:text]
}]
}
end
# rubocop:enable all
def payload_for_reverted
super
end
# Slightly tweaked failed message.
# See https://api.slack.com/docs/message-formatting
def payload_for_failed
payload = super
payload[:text] = ":fire: #{payload[:text]}"
payload
end
# Override the deployer helper to pull the full name from the password file.
# See https://github.com/phallstrom/slackistrano/blob/master/lib/slackistrano/messaging/helpers.rb
def deployer
Etc.getpwnam(ENV['USER']).gecos
end
end
end
Also, I adjusted this to pass all rubocop styleguide issues
@chrishough Just to be clear.. you got it working without having to fix the above class or did I have a mistake in the example?
Also, are you using the default rubocop or do you have special rules? I keep meaning to apply them and keep forgetting :)
I updated the setup here for you: https://github.com/phallstrom/slackistrano/pull/55
I think my error was related to not having the #ops channel you had setup. My example takes that out for others but it would be worth noting those channels need to exist for the test to pass as the test creates an example for each.
I am trying to literally copy and paste your example custom message and I am getting the following:
I have tried using the slackbot and incoming hook urls. Both no luck.