Class: Actions::ForemanPipeline::Jenkins::Build
- Inherits:
-
AbstractJenkinsAction
- Object
- EntryAction
- AbstractJenkinsAction
- Actions::ForemanPipeline::Jenkins::Build
- Defined in:
- app/lib/actions/foreman_pipeline/jenkins/build.rb
Instance Method Summary collapse
Methods inherited from AbstractJenkinsAction
Instance Method Details
#params ⇒ Object
14 15 16 17 18 |
# File 'app/lib/actions/foreman_pipeline/jenkins/build.rb', line 14 def params project_params = jenkins_project.jenkins_project_params return {} if project_params.empty? template_binding project_params end |
#run ⇒ Object
7 8 9 10 11 12 |
# File 'app/lib/actions/foreman_pipeline/jenkins/build.rb', line 7 def run #are we willing to wait longer than 5 mins until build starts? output[:build_num] = job.jenkins_instance.client.job.build(jenkins_project.name, params, 'build_start_timeout' => 300) output[:project_name] = jenkins_project.name output[:build_params] = params end |
#template_binding(project_params) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'app/lib/actions/foreman_pipeline/jenkins/build.rb', line 20 def template_binding(project_params) host = input[:data][:host] activation_key = input[:data][:activation_key] packages = input[:data][:packages] project_params.each do |param| param.value = ERB.new(param.value).result(binding) param.format_bool end.map do |param| {param.name => param.value} end.reduce(:merge) end |