lib/kraken-build/jenkins-api.rb in kraken-build-0.0.1 vs lib/kraken-build/jenkins-api.rb in kraken-build-0.0.2

- old
+ new

@@ -1,50 +1,42 @@ class JenkinsApi include HTTParty - def initialize(options = {}) - if options[:port] self.class.base_uri "#{options[:host]}:#{options[:port]}" else self.class.base_uri options[:host] end if(options[:username] && options[:password]) self.class.basic_auth options[:username] , options[:password] end - end def get_jobs(options = {}) response = self.class.get("/api/json/", options) - jobs = response["jobs"] - jobs.map{|job| job["name"]} + jobs.map { |job| job["name"] } end def create_job(job, options = {}) - repo = job.split('.').first - branch_name = job.split('.').last + repo, branch_name = job.split('.') job_config = create_job_configuration(repo, branch_name) options.merge!( :body => job_config, :format => :xml, :headers => { 'content-type' => 'application/xml' }) self.class.post("/createItem/api/xml?name=#{CGI.escape(job)}", options) end def create_job_configuration(repo, branch) - draft = get_job_configuration("#{repo}.master") + doc = REXML::Document.new(draft) + REXML::XPath.first(doc, '//branches//hudson.plugins.git.BranchSpec//name').text = branch - doc = Nokogiri.XML(draft) - - doc.xpath('//branches//hudson.plugins.git.BranchSpec//name').first.content = "#{repo}.#{branch}" - - doc.to_xml + doc.to_s end def get_job_configuration(job, options = {}) response = self.class.get("/job/#{job}/config.xml", options)