diff --git a/releng/org.eclipse.uml2.build-feature/downloads.sh b/releng/org.eclipse.uml2.build-feature/downloads.sh
index 69c9748..f19abbe 100644
--- a/releng/org.eclipse.uml2.build-feature/downloads.sh
+++ b/releng/org.eclipse.uml2.build-feature/downloads.sh
@@ -2,16 +2,28 @@
 #
 #	Promote the PUBLISH__BUILD to the downloads 'page'.
 #
-#    PUBLISH__BUILD_TYPE     Build type N/I/S/R, blank suppresses promotion
-#    PUBLISH__BUILD          The base URL of the build to be published, e.g., https://ci.eclipse.org/uml2/job/mdt-uml2-master/lastSuccessfulBuild
-#    PUBLISH__VERSION        Unqualified version, e.g., 5.4.0
-#    PUBLISH__QUALIFIER      Build qualifier, e.g., I20171228-2349
-#    PUBLISH__ALIAS          Non blank to use alias as part of final name
+#    -t PUBLISH__BUILD_TYPE     Build type N/I/S/R, blank suppresses promotion
+#    -b PUBLISH__BUILD          The base URL of the build to be published, e.g., https://ci.eclipse.org/uml2/job/mdt-uml2-master/lastSuccessfulBuild
+#    -v PUBLISH__VERSION        Unqualified version, e.g., 5.4.0
+#    -q PUBLISH__QUALIFIER      Build qualifier, e.g., I20171228-2349
+#    -a PUBLISH__ALIAS          Non blank to use alias as part of final name
 #
 dropsFolder="/home/data/httpd/download.eclipse.org/modeling/mdt/uml2/downloads/drops/"
 group="modeling.mdt.uml2"
 zipPrefix="mdt-uml2-Update-"
 
+while getopts b:v:t:q:a: option
+do
+case "${option}"
+in
+b) PUBLISH__BUILD=${OPTARG};;
+v) PUBLISH__VERSION=${OPTARG};;
+t) PUBLISH__BUILD_TYPE=${OPTARG};;
+q) PUBLISH__QUALIFIER=${OPTARG};;
+a) PUBLISH__ALIAS=${OPTARG};;
+esac
+done
+
 if [ -n "${PUBLISH__BUILD_TYPE}" ]
 then
 
diff --git a/releng/org.eclipse.uml2.build-feature/publisher.properties b/releng/org.eclipse.uml2.build-feature/publisher.properties
index 44d2e88..119c997 100644
--- a/releng/org.eclipse.uml2.build-feature/publisher.properties
+++ b/releng/org.eclipse.uml2.build-feature/publisher.properties
@@ -1,11 +1,14 @@
 # UML2 publisher properties for use by the promoter job:
 #
 # rm -f downloads.sh updates.sh
-# curl -s -k ${PUBLISH__BUILD}/artifact/releng/org.eclipse.uml2.build-feature/target/downloads.sh > downloads.sh
-# curl -s -k ${PUBLISH__BUILD}/artifact/releng/org.eclipse.uml2.build-feature/target/updates.sh > updates.sh
-# chmod +x downloads.sh updates.sh
-# bash -ex downloads.sh
-# bash -ex updates.sh
+# curl -s ${PUBLISH__BUILD}/artifact/releng/org.eclipse.uml2.build-feature/target/downloads.sh > downloads.sh
+# curl -s ${PUBLISH__BUILD}/artifact/releng/org.eclipse.uml2.build-feature/target/updates.sh > updates.sh
+# ssh genie.uml2@projects-storage.eclipse.org rm -f downloads.sh updates.sh
+# scp downloads.sh genie.uml2@projects-storage.eclipse.org:downloads.sh
+# scp updates.sh genie.uml2@projects-storage.eclipse.org:updates.sh
+# ssh genie.uml2@projects-storage.eclipse.org chmod +x downloads.sh updates.sh
+# ssh genie.uml2@projects-storage.eclipse.org bash -ex downloads.sh -b "'${PUBLISH__BUILD}'" -v "'${PUBLISH__VERSION}'" -t "'${PUBLISH__BUILD_TYPE}'" -q "'${PUBLISH__QUALIFIER}'" -a "'${PUBLISH__ALIAS}'"
+# ssh genie.uml2@projects-storage.eclipse.org bash -ex updates.sh -b "'${PUBLISH__BUILD}'" -v "'${PUBLISH__VERSION}'" -t "'${PUBLISH__BUILD_TYPE}'" -q "'${PUBLISH__QUALIFIER}'"
 #
 PUBLISH__ALIAS=${BUILD_ALIAS}
 PUBLISH__BUILD_TYPE=${BUILD_TYPE}
diff --git a/releng/org.eclipse.uml2.build-feature/updates.sh b/releng/org.eclipse.uml2.build-feature/updates.sh
index fe849d7..b995bea 100644
--- a/releng/org.eclipse.uml2.build-feature/updates.sh
+++ b/releng/org.eclipse.uml2.build-feature/updates.sh
@@ -2,10 +2,10 @@
 #
 #    Promote the PUBLISH__BUILD to an updates repository.
 #
-#    PUBLISH__BUILD_TYPE     Build type N/I/S/R, blank suppresses promotion
-#    PUBLISH__BUILD          The base URL of the build to be published, e.g., https://ci.eclipse.org/uml2/job/mdt-uml2-master/lastSuccessfulBuild
-#    PUBLISH__VERSION        Unqualified version, e.g., 5.4.0
-#    PUBLISH__QUALIFIER      Build qualifier, e.g., I20171228-2349
+#    -t PUBLISH__BUILD_TYPE     Build type N/I/S/R, blank suppresses promotion
+#    -b PUBLISH__BUILD          The base URL of the build to be published, e.g., https://ci.eclipse.org/uml2/job/mdt-uml2-master/lastSuccessfulBuild
+#    -v PUBLISH__VERSION        Unqualified version, e.g., 5.4.0
+#    -q PUBLISH__QUALIFIER      Build qualifier, e.g., I20171228-2349
 #
 updatesFolder="/home/data/httpd/download.eclipse.org/modeling/mdt/uml2/updates/"
 group="modeling.mdt.uml2"
@@ -17,6 +17,17 @@
 java -version
 /shared/common/apache-ant-latest/bin/ant -version
 
+while getopts b:v:t:q: option
+do
+case "${option}"
+in
+b) PUBLISH__BUILD=${OPTARG};;
+v) PUBLISH__VERSION=${OPTARG};;
+t) PUBLISH__BUILD_TYPE=${OPTARG};;
+q) PUBLISH__QUALIFIER=${OPTARG};;
+esac
+done
+
 if [ -n "${PUBLISH__BUILD_TYPE}" ]
 then
 
