diff --git a/src/com/sap/piper/Utils.groovy b/src/com/sap/piper/Utils.groovy index 47f1e8f49..71b5161d1 100644 --- a/src/com/sap/piper/Utils.groovy +++ b/src/com/sap/piper/Utils.groovy @@ -54,6 +54,7 @@ def stashWithMessage(name, msg, include = '**/*.*', exclude = '') { } def unstash(name, msg = "Unstash failed:") { + def unstashedContent = [] try { echo "Unstash content: ${name}" @@ -69,7 +70,9 @@ def unstashAll(stashContent) { def unstashedContent = [] if (stashContent) { for (i = 0; i < stashContent.size(); i++) { - unstashedContent += unstash(stashContent[i]) + if(stashContent[i]) { + unstashedContent += unstash(stashContent[i]) + } } } return unstashedContent diff --git a/test/groovy/com/sap/piper/UtilsTest.groovy b/test/groovy/com/sap/piper/UtilsTest.groovy index f951b010d..3ce51dbf7 100644 --- a/test/groovy/com/sap/piper/UtilsTest.groovy +++ b/test/groovy/com/sap/piper/UtilsTest.groovy @@ -38,6 +38,7 @@ class UtilsTest extends BasePiperTest { void setup() { parameters = [:] + } @Test @@ -70,4 +71,11 @@ class UtilsTest extends BasePiperTest { // generated with "echo -n 'ContinuousDelivery' | sha1sum | sed 's/ -//'" assertThat(result, is('0dad6c33b6246702132454f604dee80740f399ad')) } + + @Test + void testUnstashAllSkipNull() { + + def stashResult = utils.unstashAll(['a', null, 'b']) + assert stashResult == ['a', 'b'] + } }