Did you get this working?
Your problem was caused by mixing Groovy code within a shell command block.

                     sh """
                        git clone -b master 
git@****.com:****/${repoName}.git<mailto:git@****.com:****/$%7brepoName%7d.git>
                        cd ${repoName}

                        stat -t . > folderStat1.txt
                        for (String moduleName : moduleList) {
                           ncu -u -f "${moduleName}"
                        }

                        stat -t . > folderStat2.txt
                     """

should probably be:

                     sh """
                        git clone -b master 
git@****.com:****/${repoName}.git<mailto:git@****.com:****/$%7brepoName%7d.git>
                        cd ${repoName}

                        stat -t . > folderStat1.txt
                        stat -t . > folderStat2.txt
                     """
                     for (String moduleName : moduleList) {
                        sh """
                           ncu -u -f "${moduleName}"
                        """
                     }

Good luck!

Joachim

Från: [email protected] 
[mailto:[email protected]] För Idan Adar
Skickat: den 7 augusti 2017 14:49
Till: Jenkins Users <[email protected]>
Kopia: Joachim Nilsson <[email protected]>
Ämne: Re: Accessing a variable in shell

I have tried this, but it complains:

groovy.lang.MissingPropertyException: No such property: moduleName for class: 
WorkflowScript

Here is the full Jenkinsfile:
The majority of it can be disregarded... the issue at hand is the use of the 
variables, ${repoName}, ${moduleName}, etc...

ReposToUpdate and npmDependencies are Extended choice parameters e.g.:
myrepo1,myrepo2,myrepo3,...

def repoList = ReposToUpdate.tokenize(",");
def moduleList = npmDependencies.tokenize(",");

pipeline {
   agent {
      label 'cert_mgmt'
   }

   stages {
      stage ("Update package.json") {
         steps {
            script {
               for (String repoName : repoList) {
                  sshagent (credentials: ['credentials-ID']) {
                     sh """
                        git clone -b master 
git@****.com:****/${repoName}.git<mailto:git@****.com:****/$%7brepoName%7d.git>
                        cd ${repoName}

                        stat -t . > folderStat1.txt
                        for (String moduleName : moduleList) {
                           ncu -u -f "${moduleName}"
                        }

                        stat -t . > folderStat2.txt
                     """

                     def folderStat1 = readFile('folderStat1.txt').trim()
                     def folderStat2 = readFile('folderStat2.txt').trim()

                     if (folderStat1 == folderStat2) {
                        slackSend (
                           color: '#199515',
                           message: "$JOB_NAME: <$BUILD_URL|Build 
#$BUILD_NUMBER> ${repoName}: Common code dependencies match the latest package 
versions."
                        )
                     }
                     else {
                        sh """
                           cd ${repoName}

                           git config --global user.name "****"
                           git config --global user.email ****
                           git commit -am 'Bump common packages version number 
[ci skip]'
                           git push origin master

                           cd ..
                           rm -rf ${repoName}
                        """

                        slackSend (
                           color: '#199515',
                           message: "$JOB_NAME: <$BUILD_URL|Build 
#$BUILD_NUMBER> ${repoName}: Common code dependencies successfully updated to 
the latest package versions."
                        )
                     }
                  }
               }
            }
         }
      }
   }

   post {
      failure {
         slackSend (
            color: '#F01717',
            message: "$JOB_NAME: <$BUILD_URL|Build #$BUILD_NUMBER>, Update 
failed. Review the build logs."
         )
      }
   }
}



On Sunday, July 30, 2017 at 10:48:39 PM UTC+3, Joachim Nilsson wrote:
As I understand, it is written in Groovy. That means you can access a variable 
in a (Groovy)string using dollar and optionally curly brackets.
"  variable value is ${variable} "
Skaffa Outlook för Android<https://aka.ms/ghei36>


Från: Idan Adar
Skickat: söndag 30 juli 13:56
Ämne: Accessing a variable in shell
Till: Jenkins Users

Given the following script block in a stage (Declarative pipeline), how can I 
access the repoName variable?
stages {
    stage("...") {
        script {
            for (String repoName: repoList) {
                sshagent (credentials: 
['e276113e-0ec9-4eaa-88f9-a7db5c9635b6']) {
                    sh """
                        git clone -b master 
git@****.com:****/repoName.git<mailto:git@****.com:****/repoName.git>
                        cd repoName
                        ....
                    """
                }
            }
         }
     }
}
--
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected]<javascript:>.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/d9d247a5-8ab9-4154-99c5-8c77b0861ec2%40googlegroups.com<https://groups.google.com/d/msgid/jenkinsci-users/d9d247a5-8ab9-4154-99c5-8c77b0861ec2%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to 
[email protected]<mailto:[email protected]>.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/f5ba050e-2d42-47d4-8183-89e43edc6fec%40googlegroups.com<https://groups.google.com/d/msgid/jenkinsci-users/f5ba050e-2d42-47d4-8183-89e43edc6fec%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/3AE63E65E4D87E4EB46943D961952D150CE69873%40md-exch1.miljodata.local.
For more options, visit https://groups.google.com/d/optout.

Reply via email to