Class: JenkinsPipelineBuilder::Job
- Inherits:
-
Object
- Object
- JenkinsPipelineBuilder::Job
- Defined in:
- lib/jenkins_pipeline_builder/job.rb
Instance Attribute Summary collapse
-
#job ⇒ Object
Returns the value of attribute job.
Instance Method Summary collapse
- #create_or_update ⇒ Object
-
#initialize(job) ⇒ Job
constructor
A new instance of Job.
- #logger ⇒ Object
- #name ⇒ Object
- #to_xml ⇒ Object
Constructor Details
#initialize(job) ⇒ Job
Returns a new instance of Job.
5 6 7 |
# File 'lib/jenkins_pipeline_builder/job.rb', line 5 def initialize(job) @job = job end |
Instance Attribute Details
#job ⇒ Object
Returns the value of attribute job.
3 4 5 |
# File 'lib/jenkins_pipeline_builder/job.rb', line 3 def job @job end |
Instance Method Details
#create_or_update ⇒ Object
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/jenkins_pipeline_builder/job.rb', line 17 def create_or_update success, payload = to_xml return success, payload unless success xml = payload return local_output(xml) if JenkinsPipelineBuilder.debug || JenkinsPipelineBuilder.file_mode JenkinsPipelineBuilder.client.job.create_or_update(name, xml) [true, nil] end |
#logger ⇒ Object
13 14 15 |
# File 'lib/jenkins_pipeline_builder/job.rb', line 13 def logger JenkinsPipelineBuilder.logger end |
#name ⇒ Object
9 10 11 |
# File 'lib/jenkins_pipeline_builder/job.rb', line 9 def name job[:name] end |
#to_xml ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/jenkins_pipeline_builder/job.rb', line 28 def to_xml raise 'Job name is not specified' unless name logger.info "Creating Yaml Job #{job}" job[:job_type] = 'free_style' unless job[:job_type] type = job[:job_type] return false, "Job type: #{type} is not one of #{job_methods.join(', ')}" unless known_type? type @xml = setup_freestyle_base(job) payload = send("update_#{type}") [true, payload] end |