Sha256: 4963f429f943ae54504d4b0532264d38d8161fb16fa021b7976332827f5c43c0
Contents?: true
Size: 1.22 KB
Versions: 2
Compression:
Stored size: 1.22 KB
Contents
require 'slackistrano/version' require 'net/http' require 'json' load File.expand_path("../slackistrano/tasks/slack.rake", __FILE__) module Slackistrano # # # def self.post(team: nil, token: nil, webhook: nil, via_slackbot: false, payload: {}) if via_slackbot post_as_slackbot(team: team, token: token, webhook: webhook, payload: payload) else post_as_webhook(team: team, token: token, webhook: webhook, payload: payload) end rescue => e puts "There was an error notifying Slack." puts e.inspect end # # # def self.post_as_slackbot(team: nil, token: nil, webhook: nil, payload: {}) 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| http.request_post uri.request_uri, payload[:text] end end # # # def self.post_as_webhook(team: nil, token: nil, webhook: nil, payload: {}) params = {'payload' => payload.to_json} if webhook.nil? webhook = "https://#{team}.slack.com/services/hooks/incoming-webhook" params.merge!('token' => token) end uri = URI(webhook) Net::HTTP.post_form(uri, params) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
slackistrano-0.1.5 | lib/slackistrano.rb |
slackistrano-0.1.4 | lib/slackistrano.rb |