diff --git a/jenkins_jobs/modules/publishers.py b/jenkins_jobs/modules/publishers.py
index b8cdaff84..29c3ea4eb 100644
--- a/jenkins_jobs/modules/publishers.py
+++ b/jenkins_jobs/modules/publishers.py
@@ -3521,6 +3521,8 @@ def workspace_cleanup(registry, xml_parent, data):
:arg bool clean-parent: Cleanup matrix parent workspace (default false)
:arg str external-deletion-command: external deletion command to run
against files and directories
+ :arg bool disable-deferred-wipeout: Disable improved deferred wipeout
+ method (default false)
Minimal Example:
@@ -3554,7 +3556,8 @@ def workspace_cleanup(registry, xml_parent, data):
mappings = [
('dirmatch', 'deleteDirs', False),
('clean-parent', 'cleanupMatrixParent', False),
- ('external-deletion-command', 'externalDelete', '')
+ ('external-deletion-command', 'externalDelete', ''),
+ ('disable-deferred-wipeout', 'disableDeferredWipeout', False),
]
helpers.convert_mapping_to_xml(p, data, mappings, fail_required=True)
diff --git a/jenkins_jobs/modules/wrappers.py b/jenkins_jobs/modules/wrappers.py
index 16b2d86b0..ab5dc2b3e 100644
--- a/jenkins_jobs/modules/wrappers.py
+++ b/jenkins_jobs/modules/wrappers.py
@@ -767,6 +767,8 @@ def workspace_cleanup(registry, xml_parent, data):
determine whether to actually clean up
:arg str external-deletion-command: external deletion command to run
against files and directories
+ :arg bool disable-deferred-wipeout: Disable improved deferred wipeout
+ method (default false)
Full Example:
@@ -808,6 +810,7 @@ def workspace_cleanup(registry, xml_parent, data):
("dirmatch", 'deleteDirs', False),
('check-parameter', 'cleanupParameter', ''),
('external-deletion-command', 'externalDelete', ''),
+ ('disable-deferred-wipeout', 'disableDeferredWipeout', False),
]
helpers.convert_mapping_to_xml(p, data, mapping, fail_required=True)
diff --git a/tests/publishers/fixtures/workspace-cleanup-full.xml b/tests/publishers/fixtures/workspace-cleanup-full.xml
index d55638632..ebe438e97 100644
--- a/tests/publishers/fixtures/workspace-cleanup-full.xml
+++ b/tests/publishers/fixtures/workspace-cleanup-full.xml
@@ -15,6 +15,7 @@
true
true
command
+ true
false
false
false
diff --git a/tests/publishers/fixtures/workspace-cleanup-full.yaml b/tests/publishers/fixtures/workspace-cleanup-full.yaml
index 1ea41495b..0f5f5e52f 100644
--- a/tests/publishers/fixtures/workspace-cleanup-full.yaml
+++ b/tests/publishers/fixtures/workspace-cleanup-full.yaml
@@ -14,3 +14,4 @@ publishers:
fail-build: false
clean-parent: true
external-deletion-command: 'command'
+ disable-deferred-wipeout: true
diff --git a/tests/publishers/fixtures/workspace-cleanup-minimal.xml b/tests/publishers/fixtures/workspace-cleanup-minimal.xml
index 36f0e03ef..d264147d7 100644
--- a/tests/publishers/fixtures/workspace-cleanup-minimal.xml
+++ b/tests/publishers/fixtures/workspace-cleanup-minimal.xml
@@ -5,6 +5,7 @@
false
false
+ false
true
true
true
diff --git a/tests/wrappers/fixtures/workspace-cleanup-full.xml b/tests/wrappers/fixtures/workspace-cleanup-full.xml
index 06b9e11ba..22f72f23d 100644
--- a/tests/wrappers/fixtures/workspace-cleanup-full.xml
+++ b/tests/wrappers/fixtures/workspace-cleanup-full.xml
@@ -15,6 +15,7 @@
true
DO_WS_CLEANUP
shred -u %s
+ true
diff --git a/tests/wrappers/fixtures/workspace-cleanup-full.yaml b/tests/wrappers/fixtures/workspace-cleanup-full.yaml
index 4ec97cbd6..94b662231 100644
--- a/tests/wrappers/fixtures/workspace-cleanup-full.yaml
+++ b/tests/wrappers/fixtures/workspace-cleanup-full.yaml
@@ -7,3 +7,4 @@ wrappers:
dirmatch: true
check-parameter: "DO_WS_CLEANUP"
external-deletion-command: "shred -u %s"
+ disable-deferred-wipeout: true
diff --git a/tests/wrappers/fixtures/workspace-cleanup-min.xml b/tests/wrappers/fixtures/workspace-cleanup-min.xml
index 309a65be6..eaecd5d87 100644
--- a/tests/wrappers/fixtures/workspace-cleanup-min.xml
+++ b/tests/wrappers/fixtures/workspace-cleanup-min.xml
@@ -5,6 +5,7 @@
false
+ false