diff --git a/jjb/shell/ansiblelint.sh b/jjb/shell/ansiblelint.sh
new file mode 100755
index 0000000..beb0891
--- /dev/null
+++ b/jjb/shell/ansiblelint.sh
@@ -0,0 +1,37 @@
+#!/usr/bin/env bash
+
+# Copyright 2017-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set +e -u -o pipefail
+fail_ansible=0
+
+# verify that we have ansible-lint installed
+command -v ansible-lint  >/dev/null 2>&1 || { echo "ansible-lint not found, please install it" >&2; exit 1; }
+
+# when not running under Jenkins, use current dir as workspace
+WORKSPACE=${WORKSPACE:-.}
+
+echo "=> Linting Ansible Code with $(ansible-lint --version)"
+for f in $(find "${WORKSPACE}" -type f -name "*.yml" -o -name "*.yaml"); do
+    echo "==> CHECKING: ${f}"
+    ansible-lint -p "${f}"
+    rc=$?
+    if [[ $rc != 0 ]]; then
+        echo "==> LINTING FAIL: ${f}"
+        fail_ansible=1
+    fi
+done
+
+exit ${fail_ansible}
diff --git a/jjb/shell/helmlint.sh b/jjb/shell/helmlint.sh
new file mode 100755
index 0000000..a868179
--- /dev/null
+++ b/jjb/shell/helmlint.sh
@@ -0,0 +1,49 @@
+#!/usr/bin/env bash
+
+# Copyright 2018-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# helmlint.sh
+# run `helm lint` on all helm charts that are found
+
+set +e -u -o pipefail
+
+# verify that we have helm installed
+command -v helm >/dev/null 2>&1 || { echo "helm not found, please install it" >&2; exit 1; }
+
+echo "helmlint.sh, using helm version: $(helm version -c --short)"
+
+fail_lint=0
+
+# when not running under Jenkins, use current dir as workspace
+WORKSPACE=${WORKSPACE:-.}
+
+for chart in $(find "${WORKSPACE}" -name Chart.yaml -print) ; do
+
+  chartdir=$(dirname "${chart}")
+
+  # lint with values.yaml if it exists
+  if [ -f "${chartdir}/values.yaml" ]; then
+    helm lint --strict --values "${chartdir}/values.yaml" "${chartdir}"
+  else
+    helm lint --strict "${chartdir}"
+  fi
+
+  rc=$?
+  if [[ $rc != 0 ]]; then
+    fail_lint=1
+  fi
+done
+
+exit ${fail_lint}
diff --git a/jjb/shell/licensecheck.sh b/jjb/shell/licensecheck.sh
new file mode 100755
index 0000000..42b6b87
--- /dev/null
+++ b/jjb/shell/licensecheck.sh
@@ -0,0 +1,87 @@
+#!/usr/bin/env sh
+
+# licensecheck.sh
+# checks for copyright/license headers on files
+# excludes filename extensions where this check isn't pertinent
+
+# this could be rewritten with better form. Currently is a cut/paste from the
+# Jenkins job with minimal changes (BSD/OS X xargs params compat, sort of
+# excluded file extensions).
+
+find . -name ".git" -prune -o -type f \
+  -name "*.*" \
+  ! -name "*.PNG" \
+  ! -name "*.asc" \
+  ! -name "*.bat" \
+  ! -name "*.cfg" \
+  ! -name "*.cnf" \
+  ! -name "*.conf" \
+  ! -name "*.cql" \
+  ! -name "*.crt" \
+  ! -name "*.csr" \
+  ! -name "*.csv" \
+  ! -name "*.ctmpl" \
+  ! -name "*.curl" \
+  ! -name "*.db" \
+  ! -name "*.der" \
+  ! -name "*.diff" \
+  ! -name "*.dnsmasq" \
+  ! -name "*.do" \
+  ! -name "*.docx" \
+  ! -name "*.eot" \
+  ! -name "*.gif" \
+  ! -name "*.gpg" \
+  ! -name "*.graffle" \
+  ! -name "*.iml" \
+  ! -name "*.in" \
+  ! -name "*.inc" \
+  ! -name "*.j2" \
+  ! -name "*.jar" \
+  ! -name "*.jks" \
+  ! -name "*.jpg" \
+  ! -name "*.json" \
+  ! -name "*.key" \
+  ! -name "*.list" \
+  ! -name "*.local" \
+  ! -name "*.log" \
+  ! -name "*.mak" \
+  ! -name "*.md" \
+  ! -name "*.mk" \
+  ! -name "*.oar" \
+  ! -name "*.p12" \
+  ! -name "*.patch" \
+  ! -name "*.pcap" \
+  ! -name "*.pem" \
+  ! -name "*.png" \
+  ! -name "*.properties" \
+  ! -name "*.proto" \
+  ! -name "*.pyc" \
+  ! -name "*.repo" \
+  ! -name "*.robot" \
+  ! -name "*.rst" \
+  ! -name "*.rules" \
+  ! -name "*.service" \
+  ! -name "*.svg" \
+  ! -name "*.swp" \
+  ! -name "*.tar" \
+  ! -name "*.tar.gz" \
+  ! -name "*.toml" \
+  ! -name "*.ttf" \
+  ! -name "*.txt" \
+  ! -name "*.woff" \
+  ! -name "*.xproto" \
+  ! -name "*.xtarget" \
+  ! -name "*ignore" \
+  ! -name "*rc" \
+  ! -name "Dockerfile" \
+  ! -name "Dockerfile.*" \
+  ! -name "Makefile" \
+  ! -name "Makefile.*" \
+  ! -name "README" \
+  ! -path "*/vendor/*.go" \
+  ! -path "*conf*" \
+  ! -path "*git*" \
+  ! -path "*swagger*" \
+  -print0 |   \
+  xargs -0 -n1 sh -c 'if ! grep -q "Copyright\|Apache License" $0; then echo "ERROR: $0 does not contain Copyright header"; exit 1; fi;'
+
diff --git a/jjb/shell/repopatch.sh b/jjb/shell/repopatch.sh
new file mode 100644
index 0000000..93c9706
--- /dev/null
+++ b/jjb/shell/repopatch.sh
@@ -0,0 +1,33 @@
+#!/usr/bin/env bash
+
+# Copyright 2018-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# repopatch.sh
+# downloads a patch to within an already checked out repo tree
+
+set +e -u -o pipefail
+
+# verify that we have repo installed
+command -v repo >/dev/null 2>&1 || { echo "repo not found, please install it" >&2; exit 1; }
+
+echo "Checking out patch with repo, using repo version:"
+repo version
+
+echo "GERRIT_PROJECT: ${GERRIT_PROJECT}"
+echo "GERRIT_CHANGE_NUMBER: ${GERRIT_CHANGE_NUMBER}"
+echo "GERRIT_PATCHSET_NUMBER: ${GERRIT_PATCHSET_NUMBER}"
+
+echo "Make this work eventually!"
+
