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

Blueocean support for visualizing stages in parallel block in scripted pipeline

    XMLWordPrintable

Details

    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

            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"
                  }
                }
              }
            ) 
            
            
            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" } } } )
            jglick Jesse Glick added a comment -

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

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

            Yup I agree with jglick on that. The example stikonas 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.

             

            blanked Hui Jun Ng added a comment - Yup I agree with jglick on that. The example stikonas 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.  
            olamy Olivier Lamy added a comment - https://github.com/jenkinsci/blueocean-plugin/pull/2024

            Great to see this is finally available

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

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

            People

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

              Dates

                Created:
                Updated:
                Resolved: