lib/integrity/notifier/notifyio.rb in integrity-notifyio-0.2.0 vs lib/integrity/notifier/notifyio.rb in integrity-notifyio-0.2.1
- old
+ new
@@ -5,35 +5,54 @@
class Notifier
class Notifyio < Notifier::Base
attr_reader :config
def self.to_haml
- @haml ||= File.read(File.dirname(__FILE__) + "/config.haml")
+ @haml ||= File.read(File.dirname(__FILE__) + "/notifyio.haml")
end
def deliver!
- post(config['email'], config['api_key'], short_message, full_message)
+ post(config['email'], config['api_key'], short_message, full_message) if announce_build?
end
def to_s
'Notifyio'
end
+ #######
private
+ #######
+ def full_message
+ <<-EOM
+== #{short_message}
+
+Commit Message: #{build.commit.message}
+Commit Date: #{build.commit.committed_at}
+Commit Author: #{build.commit.author.name}
+
+Link: #{build_url}
+
+EOM
+ end
+
def post(emails, api_key, title, body)
- return if emails.nil? || email.empty? || api_key.nil? || api_key.empty?
+ return if emails.nil? || emails.empty? || api_key.nil? || api_key.empty?
emails.split(',').each do |email|
- email_hash = MD5.hexdigest(email.strip!)
+ email_hash = MD5.hexdigest(email.strip)
HTTParty.post "http://api.notify.io/v1/notify/#{email_hash}", :headers => {'content-type' => 'application/x-www-form-urlencoded'},
:body => {:api_key => api_key},
:query => {
:api_key => api_key,
:title => title,
:text => body
}
end
+ end
+
+ def announce_build?
+ build.failed? || config["announce_success"]
end
end
register Notifyio