1 |
424ba52f
|
Ondrej Prazak
|
module Actions
|
2 |
be52ca64
|
Ondrej Prazak
|
module ForemanPipeline
|
3 |
424ba52f
|
Ondrej Prazak
|
module Jenkins
|
4 |
|
|
class BuildProject < AbstractJenkinsAction
|
5 |
f8150486
|
Ondrej Prazak
|
|
6 |
a5315fd6
|
Ondrej Prazak
|
def plan(options)
|
7 |
|
|
sequence do
|
8 |
|
|
build_task = plan_action(Build, options)
|
9 |
996ef178
|
Ondrej Prazak
|
wait_task = plan_action(WaitForBuild, :job_id => options[:job_id], :name => options[:project_name], :build_num => build_task.output[:build_num])
|
10 |
|
|
|
11 |
f8150486
|
Ondrej Prazak
|
plan_self(:build_status => wait_task.output[:details][:result], :name => options[:project_name])
|
12 |
a5315fd6
|
Ondrej Prazak
|
end
|
13 |
424ba52f
|
Ondrej Prazak
|
end
|
14 |
|
|
|
15 |
a5315fd6
|
Ondrej Prazak
|
def run
|
16 |
|
|
output[:status] = input[:build_status]
|
17 |
996ef178
|
Ondrej Prazak
|
Dynflow::Action::Rescue::Skip if input[:build_status].match /^FAILURE$/
|
18 |
|
|
end
|
19 |
|
|
|
20 |
|
|
def rescue_strategy_for_self
|
21 |
|
|
Dynflow::Action::Rescue::Skip
|
22 |
424ba52f
|
Ondrej Prazak
|
end
|
23 |
f8150486
|
Ondrej Prazak
|
|
24 |
|
|
def humanized_name
|
25 |
|
|
"Build Jenkins Project: %s" % input[:name]
|
26 |
|
|
end
|
27 |
424ba52f
|
Ondrej Prazak
|
end
|
28 |
|
|
end
|
29 |
|
|
end
|
30 |
|
|
end |