Module: Slackistrano

Defined in:
lib/slackistrano.rb,
lib/slackistrano/version.rb

Constant Summary collapse

VERSION =
'0.1.1'

Class Method Summary collapse

Class Method Details

.post(team: nil, token: nil, via_slackbot: false, payload: {}) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/slackistrano.rb', line 8

def self.post(team: nil, token: nil, via_slackbot: false, payload: {})
  if via_slackbot
    uri = URI(URI.encode("https://#{team}.slack.com/services/hooks/slackbot?token=#{token}&channel=#{payload[:channel]}"))

    Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|
      response = http.request_post uri.request_uri, payload[:text]
    end
  else
    uri = URI("https://#{team}.slack.com/services/hooks/incoming-webhook")
    res = Net::HTTP.post_form(uri, 'token' => token, 'payload' => payload.to_json)
  end
rescue => e
  puts "There was an error notifying Slack."
  puts e.inspect
end