class ExtremeFeedbackDevice::Jenkins
Public Instance Methods
full_uri()
click to toggle source
# File lib/extreme_feedback_device/jenkins.rb, line 12 def full_uri URI(full_url) end
full_url()
click to toggle source
# File lib/extreme_feedback_device/jenkins.rb, line 8 def full_url ::File.join(base_url, 'api', 'json?tree=jobs[name,color,healthReport[score]]') end
jobs()
click to toggle source
# File lib/extreme_feedback_device/jenkins.rb, line 16 def jobs json = get_json jobs_from_json(json) if json.is_a?(String) end
Private Instance Methods
get_json()
click to toggle source
# File lib/extreme_feedback_device/jenkins.rb, line 33 def get_json request = ::Net::HTTP::Get.new(full_uri) request.basic_auth(user, token) response = nil begin http = ::Net::HTTP.new(full_uri.hostname, full_uri.port) http.use_ssl = true if full_uri.scheme == "https" http.start do response = http.request(request) end rescue SocketError => e response = e end if response.is_a?(::Net::HTTPSuccess) return response.body else return nil end end
jobs_from_json(json)
click to toggle source
# File lib/extreme_feedback_device/jenkins.rb, line 23 def jobs_from_json(json) json_objects = [] begin json_objects = ::JSON.parse(json) rescue ::JSON::JSONError end json_objects["jobs"].map { |json_object| ExtremeFeedbackDevice::Job.from_json_object(json_object) } end