class AutoJenkins::Job
Attributes
auth[RW]
info[RW]
is_set[RW]
jurl[RW]
name[RW]
Public Class Methods
new(name, jurl, auth, token=nil)
click to toggle source
# File lib/autojenkins.rb, line 151 def initialize(name, jurl, auth, token=nil) @name = name @jurl = jurl @auth = auth @info = false if name @e_name = URI.escape(@name) @info = Helpers._get_request(@jurl, 'JOBINFO', URI.escape(name), auth) end @is_set = @info ? true : false end
Public Instance Methods
_able_job(action)
click to toggle source
# File lib/autojenkins.rb, line 202 def _able_job(action) res = Helpers._get_request(@jurl, '_ABLE', [@e_name, action], @auth, post_args={'data' => ""}) return true end
copy(jobname, enable=false)
click to toggle source
# File lib/autojenkins.rb, line 215 def copy(jobname, enable=false) config = get_config() return create_job(jobname, config, enable) end
create_job(jobname, config, enable=false)
click to toggle source
# File lib/autojenkins.rb, line 220 def create_job(jobname, config, enable=false) sts = Helpers._get_request(@jurl, 'NEWJOB', [URI.escape(jobname)], @auth, post_args=config, content_type="application/xml") newjob = Job.new(jobname, @jurl, @auth) unless enable newjob.disable() end return newjob end
delete()
click to toggle source
# File lib/autojenkins.rb, line 171 def delete() res = Helpers._get_request(@jurl, 'DELETE', [@e_name], @auth, post_args="delete=true") return true end
disable()
click to toggle source
# File lib/autojenkins.rb, line 207 def disable() return _able_job('disable') end
enable()
click to toggle source
# File lib/autojenkins.rb, line 211 def enable() return _able_job('enable') end
get_build(buildnum)
click to toggle source
# File lib/autojenkins.rb, line 177 def get_build(buildnum) res = Helpers._get_request(@jurl, 'BUILD', [@e_name, buildnum], @auth) build = Build.new() begin build.branch = res['actions'][1]['lastBuiltRevision']['branch'][0]['name'] build.revision = res['actions'][1]['lastBuiltRevision']['branch'][0]['SHA1'] rescue end build.status = res['result'] build.name = res['fullDisplayName'] build.duration = res['duration'] build.building = res['building'] build.url = res['url'] build.node = res['builtOn'] return build end
get_config()
click to toggle source
# File lib/autojenkins.rb, line 233 def get_config() if @is_set config_xml = Helpers._get_request(@jurl, 'CONFIG', [URI.escape(@name)], @auth) return config_xml end return "" end
info_items()
click to toggle source
# File lib/autojenkins.rb, line 198 def info_items() return @info.keys end
is_set?()
click to toggle source
# File lib/autojenkins.rb, line 241 def is_set?() return @is_set end
launch(token)
click to toggle source
# File lib/autojenkins.rb, line 165 def launch(token) res = Helpers._get_request(@jurl, 'LAUNCH', [@e_name, token], @auth) return true end
method_missing(name)
click to toggle source
# File lib/autojenkins.rb, line 245 def method_missing(name) name.to_s =~ /^get_(.*)$/ match = $1 unless match.nil? if @info.has_key? $1 return @info[$1] end end return nil end