Still failing:

[Commons Updater] Running shell script
+ git clone -b master git@****.com:****/.git
Cloning into 'security-services'...
ERROR: Repository not found.
fatal: Could not read from remote repository.


This happens because the the variable is missing when trying to execute the 
shell command:


for (int i = 0; i < repoList.size(); i++) {
                  def repoName = repoList[i]
                  
                  sshagent (credentials: ['credential-id']) {
                     sh '''
                        git clone -b master 
git@****.com:****/${repoName}.git
                        cd ${repoName}
                        ...

Note how it attempts to clone /.git instead of /the-repo-name.git.
I know that the repoList is occupied with the repo names because if I will 
echo it, I see the repo name.

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

echo repoList[0]


On Tuesday, August 8, 2017 at 3:54:17 PM UTC+3, mpapo - Michael Pailloncy 
wrote:
>
> 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 <michael....@gmail.com 
> <javascript:>>:
>
>> 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 <id...@adar.me <javascript:>>:
>>
>>> 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 jenkinsci-use...@googlegroups.com <javascript:>.
>>> 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 jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/0ef4f753-7026-4794-a162-d882d8b2701e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to