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/
> msgid/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/CAPO77c0m30aQaGft62iBKmAvk4pDWmCPDEywUir_Yv-Kh03DoQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.