Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-57651

Trying to print a GString somehow causes pipeline code to be silently skipped

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • pipeline
    • None

      The following pipeline:

      List<String> buildFlavours = ['ubuntu', 'macosx']
      List<MyBuildStep> modulesGroups = [
        new MyBuildStep('UnitTestGroup1'),
        new MyBuildStep('UnitTestGroup2')
      ]
      
      println "*** outside loop, buildFlavours.size() = ${buildFlavours.size()}"
      buildFlavours.each { flavour ->
        println "*** inside loop, flavour = ${flavour}"
        println "*** outside loop, modulesGroups.size() = ${modulesGroups.size()}"
        modulesGroups.each { group ->
      
              // Doesn't work, silently terminates the iteration of the loop with no error either!
              println "*** inside loop, group = ${group}"
      
              // Somehow this works:
              // String groupCopy = group.toString()
              // println "*** inside loop, group = ${groupCopy}"
          }
      }
      
      class MyBuildStep implements Serializable {
          private String displayName
      
          MyBuildStep(String displayName) {
              this.displayName = displayName
          }
      
          @Override
          String toString() {
              return displayName
          }
      }
      

      Prints the following output:

      [Pipeline] echo
      *** outside loop, buildFlavours.size() = 2
      [Pipeline] echo
      *** inside loop, flavour = ubuntu
      [Pipeline] echo
      *** outside loop, modulesGroups.size() = 2
      [Pipeline] echo
      *** inside loop, flavour = macosx
      [Pipeline] echo
      *** outside loop, modulesGroups.size() = 2
      [Pipeline] End of Pipeline
      

      I expected to see the output for "*** inside loop, group = ${group}" as well, but it doesn't, and I don't get an error either, so I have no idea what's broken.

            Unassigned Unassigned
            trejkaz trejkaz
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: