Oh just realized that this for loop syntax exists even in Groovy :-) (I'm used to using *each *instead of for loops) But please try using C-style for loop syntax.
2017-08-08 14:45 GMT+02:00 Michael Pailloncy <[email protected]>: > This syntax doesn't exist in Groovy : *for (String repoName : repoList) { > ... }* > The direct equivalent is : *for (String repoName in repoList) { ... }* > > However, it's better to use the C-style for loop syntax when using > pipeline (that's why I've used it in my previous example) : > > for (int i = 0; i < moduleList.size(); i++) { > def moduleName = moduleList[i] > ... > } > > See https://github.com/jenkinsci/pipeline-examples/blob/master/docs/BEST_ > PRACTICES.md#groovy-gotchas > > Cheers > > 2017-08-08 14:31 GMT+02:00 Idan Adar <[email protected]>: > >> I've made some changes and now I'm getting: >> >> java.lang.NullPointerException: Cannot get property '$repoName' on null >> object >> >> >> >> def repoList = ReposToUpdate.tokenize(","); >> def moduleList = npmDependencies.tokenize(","); >> >> pipeline { >> agent { >> label '****' >> } >> >> stages { >> stage ("Update package.json") { >> steps { >> script { >> for (String repoName : repoList) { >> sshagent (credentials: ['****']) { >> sh ''' >> git clone -b master git@ >> ****.com:****/${repoName}.git >> cd ${repoName} >> stat -t . > folderStat1.txt >> ''' >> >> for (String moduleName : moduleList) { >> sh ''' >> cd ${repoName} >> 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." >> ) >> } >> } >> } >> >> -- >> 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/ms >> gid/jenkinsci-users/54962dc1-e80e-4ce3-8583-652a1fd714fe% >> 40googlegroups.com >> <https://groups.google.com/d/msgid/jenkinsci-users/54962dc1-e80e-4ce3-8583-652a1fd714fe%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/CAPO77c27cxQnf7zRg5UEODMOWRO3BtNRQ0RjBPFHp%2B6Q88oMvA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
