class Boxen::Hook::Web
Public Instance Methods
perform?()
click to toggle source
# File lib/boxen/hook/web.rb, line 8 def perform? enabled? end
Private Instance Methods
call()
click to toggle source
# File lib/boxen/hook/web.rb, line 13 def call payload = { :login => config.user, :sha => checkout.sha, :status => result.success? ? 'success' : 'failure', :time => "#{Time.now.utc.to_i}" } post_web_hook payload end
post_web_hook(payload)
click to toggle source
# File lib/boxen/hook/web.rb, line 24 def post_web_hook(payload) headers = { 'Content-Type' => 'application/json' } uri = URI.parse(URI.escape(ENV['BOXEN_WEB_HOOK_URL'])) user, pass, host, port, path = \ uri.user, uri.pass, uri.host, uri.port, uri.path request = Net::HTTP::Post.new(path, initheader = headers) if uri.scheme =~ /https/ http.use_ssl = true end if user && pass request.basic_auth user, pass end request.body = payload.to_json response = Net::HTTP.new(host, port).start do |http| http.request(request) end end
required_environment_variables()
click to toggle source
# File lib/boxen/hook/web.rb, line 49 def required_environment_variables ['BOXEN_WEB_HOOK_URL'] end