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

Blueocean support for visualizing stages in parallel block in scripted pipeline

    Details

    • Similar Issues:

      Description

      As suggested in JENKINS-38442 I created this new feature request which I would like to use to explicitely target the support for visualising one level of stages in parallel blocks, like:

      parallel (
        "first": {
          stage("JUnit") {
          }
          stage("Firefox") { 
          }
        },
        "second" : {
          stage("D3Unit") {
          }
          stage("Edge") {
          }
        },
        "third" : {
          stage("Safari") {
          }
        }
      )
      

      As an example on how a possible visualization could look like please check the attached png.

        Attachments

          Issue Links

            Activity

            Hide
            stikonas Andrius Štikonas added a comment - - edited

            My example is the same as above. It's just that in version 1.9.0 all those bugs that prevented clicking on stages got fixed (they affected declarative pipeline too).

             

            import org.jenkinsci.plugins.pipeline.modeldefinition.actions.ExecutionModelAction
            import org.jenkinsci.plugins.pipeline.modeldefinition.ast.ModelASTStages
            
            if (!currentBuild.rawBuild.getAction(ExecutionModelAction))
                currentBuild.rawBuild.addAction(new ExecutionModelAction(new ModelASTStages(null)))
            
            parallel (
              "one": {
                stage("one") {
                  stage("one-child1") {
                    println "one-child1"
                  }
                  stage("one-child2") {
                    println "one-child2"
                  }
                }
              },
              "two": {
                stage("two") {
                  stage("two-child1") {
                    println "two-child1"
                  }
                  stage("two-child2") {
                    println "two-child2"
                  }
                }
              },
              "three": {
                stage("three") {
                  stage("three-child1") {
                    println "three-child1"
                  }
                  stage("three-child2") {
                    println "three-child2"
                  }
                }
              }
            ) 
            
            
            Show
            stikonas Andrius Štikonas added a comment - - edited My example is the same as above. It's just that in version 1.9.0 all those bugs that prevented clicking on stages got fixed (they affected declarative pipeline too).   import org.jenkinsci.plugins.pipeline.modeldefinition.actions.ExecutionModelAction import org.jenkinsci.plugins.pipeline.modeldefinition.ast.ModelASTStages if (!currentBuild.rawBuild.getAction(ExecutionModelAction)) currentBuild.rawBuild.addAction( new ExecutionModelAction( new ModelASTStages( null ))) parallel ( "one" : { stage( "one" ) { stage( "one-child1" ) { println "one-child1" } stage( "one-child2" ) { println "one-child2" } } }, "two" : { stage( "two" ) { stage( "two-child1" ) { println "two-child1" } stage( "two-child2" ) { println "two-child2" } } }, "three" : { stage( "three" ) { stage( "three-child1" ) { println "three-child1" } stage( "three-child2" ) { println "three-child2" } } } )
            Hide
            jglick Jesse Glick added a comment -

            If you have to use currentBuild.rawBuild, or import generally, then this is clearly not fixed.

            Show
            jglick Jesse Glick added a comment - If you have to use currentBuild.rawBuild , or import generally, then this is clearly not fixed.
            Hide
            blanked Hui Jun Ng added a comment -

            Yup I agree with Jesse Glick on that. The example Andrius Štikonas shared is a workaround instead of a fix. I would imagine a fix would be that it simply works out of the box similar to how it does for declarative pipeline.

             

            Show
            blanked Hui Jun Ng added a comment - Yup I agree with Jesse Glick on that. The example Andrius Štikonas shared is a workaround instead of a fix. I would imagine a fix would be that it simply works out of the box similar to how it does for declarative pipeline.  
            Show
            olamy Olivier Lamy added a comment - https://github.com/jenkinsci/blueocean-plugin/pull/2024
            Hide
            macdrega Joerg Schwaerzler added a comment -

            Great to see this is finally available

            Olivier Lamy: Can you already tell when there will be a release containing this fix?

            Show
            macdrega Joerg Schwaerzler added a comment - Great to see this is finally available Olivier Lamy : Can you already tell when there will be a release containing this fix?

              People

              • Assignee:
                olamy Olivier Lamy
                Reporter:
                macdrega Joerg Schwaerzler
              • Votes:
                72 Vote for this issue
                Watchers:
                74 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: