diff --git a/jenkins_jobs/modules/wrappers.py b/jenkins_jobs/modules/wrappers.py index 6c660f9..636f68b 100644 --- a/jenkins_jobs/modules/wrappers.py +++ b/jenkins_jobs/modules/wrappers.py @@ -743,11 +743,9 @@ def release(parser, xml_parent, data): 'post-fail': 'postFailedBuildSteps', } for step in builder_steps.keys(): + parent = XML.SubElement(relwrap, builder_steps[step]) for builder in data.get(step, []): - parser.registry.dispatch('builder', parser, - XML.SubElement(relwrap, - builder_steps[step]), - builder) + parser.registry.dispatch('builder', parser, parent, builder) def sauce_ondemand(parser, xml_parent, data): diff --git a/tests/wrappers/fixtures/release001.xml b/tests/wrappers/fixtures/release001.xml new file mode 100644 index 0000000..62b8a57 --- /dev/null +++ b/tests/wrappers/fixtures/release001.xml @@ -0,0 +1,14 @@ + + + + + false + false + + + + + + + + diff --git a/tests/wrappers/fixtures/release001.yaml b/tests/wrappers/fixtures/release001.yaml new file mode 100644 index 0000000..f8aa756 --- /dev/null +++ b/tests/wrappers/fixtures/release001.yaml @@ -0,0 +1,2 @@ +wrappers: + - release: {} diff --git a/tests/wrappers/fixtures/release002.xml b/tests/wrappers/fixtures/release002.xml new file mode 100644 index 0000000..99c6092 --- /dev/null +++ b/tests/wrappers/fixtures/release002.xml @@ -0,0 +1,42 @@ + + + + + false + false + + + + first-post-build + + + second-post-build + + + + + first-post-success + + + second-post-success + + + + + first-pre-build + + + second-pre-build + + + + + first-post-fail + + + second-post-fail + + + + + diff --git a/tests/wrappers/fixtures/release002.yaml b/tests/wrappers/fixtures/release002.yaml new file mode 100644 index 0000000..e008515 --- /dev/null +++ b/tests/wrappers/fixtures/release002.yaml @@ -0,0 +1,14 @@ +wrappers: + - release: + pre-build: + - shell: first-pre-build + - shell: second-pre-build + post-build: + - shell: first-post-build + - shell: second-post-build + post-success: + - shell: first-post-success + - shell: second-post-success + post-fail: + - shell: first-post-fail + - shell: second-post-fail