diff --git a/Makefile b/Makefile
index 30ca940..33dcb9c 100644
--- a/Makefile
+++ b/Makefile
@@ -29,10 +29,8 @@
 include makefiles/include.mk
 ONF_MAKEDIR ?= $(error ONF_MAKEDIR= is required)
 
-# VENV_DIR      ?= venv-jjb
-JJB_VERSION   ?= 2.8.0
+# [TODO]
 # JJB_VERSION   ?= 4.1.0
-JOBCONFIG_DIR ?= job-configs
 
 # -----------------------------------------------------------------------
 # horrible dep: (ie -- .PHONY: $(JOBCONFIG_DIR))
diff --git a/config.mk b/config.mk
index 849bd73..f7dc560 100644
--- a/config.mk
+++ b/config.mk
@@ -64,7 +64,7 @@
 ##-----------------------------------##
 ##---]  JJB/Jenkins Job Builder  [---##
 ##-----------------------------------##
-JJB_VERSION   ?= 2.8.0
+JJB_VERSION   ?= 3.2.0             # lint-from: jjb/ci-management/ci-management.yaml
 JOBCONFIG_DIR ?= job-configs
 
 ##---------------------------------##
diff --git a/jjb/shell/shcheck.sh b/jjb/shell/shcheck.sh
index 48ffc7d..6d5986d 100755
--- a/jjb/shell/shcheck.sh
+++ b/jjb/shell/shcheck.sh
@@ -20,7 +20,8 @@
 fail_shellcheck=0
 
 # verify that we have shellcheck-lint installed
-command -v shellcheck  >/dev/null 2>&1 || { echo "shellcheck not found, please install it" >&2; exit 1; }
+command -v shellcheck  >/dev/null 2>&1 \
+    || { echo "shellcheck not found, please install it" >&2; exit 1; }
 
 # when not running under Jenkins, use current dir as workspace
 WORKSPACE=${WORKSPACE:-.}
@@ -40,3 +41,4 @@
 
 exit ${fail_shellcheck}
 
+# [EOF]
diff --git a/vars/helmTeardown.groovy b/vars/helmTeardown.groovy
index e6f36ac..81fc0aa 100644
--- a/vars/helmTeardown.groovy
+++ b/vars/helmTeardown.groovy
@@ -15,24 +15,35 @@
 // limitations under the License.
 // -----------------------------------------------------------------------
 
+/* -----------------------------------------------------------------------
+groovylint-disable NoDef, VariableTypeRequired
+Reason: jenkins.sh() and groovy String do not play nicely together.
+        cast(String) => java.lang.String not supported natively.
+* -----------------------------------------------------------------------
+*/
+
 def call(List namespaces = ['default'], List excludes = ['docker-registry']) {
+    String spaces = namespaces.join(', ')
+    String msg    = "Tearing down charts in namespaces: ${spaces}."
+    println(msg)
 
-    println "Tearing down charts in namespaces: ${namespaces.join(', ')}."
-
-    def exc = excludes.join("|")
-    for(int i = 0;i<namespaces.size();i++) {
+    def exc = excludes.join('|')
+    for (int i = 0; i < namespaces.size(); i++) {
+        // sh() and groovy String vars do not play well together
         def n = namespaces[i]
-        sh """
+
+        sh(label  : "Tearing down charts in namespaces: ${n}.",
+           script : """
           for hchart in \$(helm list --all -n ${n} -q | grep -E -v '${exc}');
           do
               echo "Purging chart: \${hchart}"
               helm delete -n ${n} "\${hchart}"
           done
-        """
+        """)
     }
 
     println "Waiting for pods to be removed from namespaces: ${namespaces.join(', ')}."
-    for(int i = 0;i<namespaces.size();i++) {
+    for (int i = 0; i < namespaces.size(); i++) {
         def n = namespaces[i]
         sh """
         set +x
