@@ -135,8 +135,6 @@ pipeline {
135135 environment {
136136 JAVA_HOME_DIR = getJavaHomePath()
137137 GRADLE_DIR = " .gradle"
138- DMC_USER = credentials(' MLBUILD_USER' )
139- DMC_PASSWORD = credentials(' MLBUILD_PASSWORD' )
140138 PLATFORM = " linux/amd64"
141139 MARKLOGIC_INSTALL_CONVERTERS = " true"
142140 }
@@ -189,14 +187,20 @@ pipeline {
189187 }
190188 }
191189 steps {
192- sh label : ' publish' , script : ''' #!/bin/bash
193- export JAVA_HOME=$JAVA_HOME_DIR
194- export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
195- export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
196- cp ~/.gradle/gradle.properties $GRADLE_USER_HOME;
197- cd java-client-api
198- ./gradlew publish
199- '''
190+ withCredentials([usernamePassword(
191+ credentialsId : ' MLBUILD_USER' ,
192+ usernameVariable : ' DMC_USER' ,
193+ passwordVariable : ' DMC_PASSWORD'
194+ )]) {
195+ sh label : ' publish' , script : ''' #!/bin/bash
196+ export JAVA_HOME=$JAVA_HOME_DIR
197+ export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
198+ export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
199+ cp ~/.gradle/gradle.properties $GRADLE_USER_HOME;
200+ cd java-client-api
201+ ./gradlew publish
202+ '''
203+ }
200204 }
201205 post {
202206 always {
@@ -226,6 +230,10 @@ pipeline {
226230
227231 steps {
228232 script {
233+ // Validate MARKLOGIC_IMAGE_TAGS to prevent argument injection via user-supplied image tag values
234+ if (! (params. MARKLOGIC_IMAGE_TAGS ==~ / ^[a-zA-Z0-9\- .:,\/ ]+$/ )) {
235+ error(" Invalid MARKLOGIC_IMAGE_TAGS parameter value: must match ^[a-zA-Z0-9\\ -.:,\\ / ]+\$ " )
236+ }
229237 def imageTags = params. MARKLOGIC_IMAGE_TAGS . split(' ,' )
230238 def imagePrefix = ' ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/'
231239
0 commit comments