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: jenkinsci-users@googlegroups.com 
[mailto:jenkinsci-users@googlegroups.com] För Idan Adar
Skickat: den 7 augusti 2017 14:49
Till: Jenkins Users <jenkinsci-users@googlegroups.com>
Kopia: Joachim Nilsson <joachim.nils...@miljodata.se>
Ä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 jenkinsci-use...@googlegroups.com<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 
jenkinsci-users+unsubscr...@googlegroups.com<mailto:jenkinsci-users+unsubscr...@googlegroups.com>.
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 jenkinsci-users+unsubscr...@googlegroups.com.
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