Class: Actions::ForemanPipeline::Jenkins::BuildProject

Inherits:
AbstractJenkinsAction show all
Defined in:
app/lib/actions/foreman_pipeline/jenkins/build_project.rb

Instance Method Summary collapse

Methods inherited from AbstractJenkinsAction

#jenkins_project, #job

Instance Method Details

#humanized_nameObject



27
28
29
# File 'app/lib/actions/foreman_pipeline/jenkins/build_project.rb', line 27

def humanized_name
  "Build Jenkins Project: %s" % input[:name]
end

#plan(options) ⇒ Object



6
7
8
9
10
11
12
13
14
15
# File 'app/lib/actions/foreman_pipeline/jenkins/build_project.rb', line 6

def plan(options)
  sequence do
    build_task = plan_action(Build, options)
    wait_task = plan_action(WaitForBuild, :job_id => options[:job_id],
                                          :name => options[:project_name],
                                          :build_num => build_task.output[:build_num])

    plan_self(:build_status => wait_task.output[:details][:result], :name => options[:project_name])
  end
end

#rescue_strategy_for_selfObject



23
24
25
# File 'app/lib/actions/foreman_pipeline/jenkins/build_project.rb', line 23

def rescue_strategy_for_self
  Dynflow::Action::Rescue::Skip
end

#runObject



17
18
19
20
21
# File 'app/lib/actions/foreman_pipeline/jenkins/build_project.rb', line 17

def run
  output[:status] = input[:build_status]
  output[:name] = input[:name]
  fail "Build on Jenkins failed for #{output[:name]}" unless output[:build_status] == "SUCCESS"
end