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

View sequential stages in the pipeline visualization graph

    • Blue Ocean 1.8.0

      In progress - one level of visualization below parent stage. Additional research and feedback will help us determine future visualizations.

      I've tried using nested stages in order to group each shell script alone to have a meaningful data, however this broken the UI of blueocean and it stopped it from showing showing the variant steps.

      Example 1

      def test = [:]
      
      test["a"] = {
          stage ("a") {
              stage ("ab") {
                  sh "echo stage abc"
              }
              stage ("xyz") {
                  sh "echo stage xyz"
              }
          }
      }
      
      test["b"] = {
          stage ("b") {
              stage ("bb") {
                  sh "echo stage bb"
              }
              stage ("bxz") {
                  sh "echo stagebxyz"
              }
          }
      }
      node {
         //stage 'start'
         parallel test
         stage ('middle') {
             sh "echo middle"
         }
         
      }
      

      Example 2

      node() {
        stage('Build') {
          println 'I prepare the build for the parallel steps'
        }
      
        stage('Test') {
         parallel (
       "win7-vs2012" : { stage("checkout") { }; stage("build") { }; stage("test") { } },
       "win10-vs2015" : { stage("checkout") { }; stage("build") { }; stage("test") { }},
       "linux-gcc5" : { stage("checkout") { }; stage("build") { }; stage("test") { } }
      )
        }
      }
      

        1. Jenkins-substages.png
          Jenkins-substages.png
          9 kB
        2. current.png
          current.png
          23 kB
        3. jenkins-weird-masked2.png
          jenkins-weird-masked2.png
          52 kB
        4. After.png
          After.png
          6 kB
        5. Before.PNG
          Before.PNG
          8 kB
        6. image-2017-10-19-08-24-00-504.png
          image-2017-10-19-08-24-00-504.png
          3 kB
        7. screenshot-1.png
          screenshot-1.png
          4 kB
        8. image-2017-08-14-10-34-10-452.png
          image-2017-08-14-10-34-10-452.png
          10 kB
        9. alternate zoom in.png
          alternate zoom in.png
          85 kB
        10. Proposed Parallel Stages.JPG
          Proposed Parallel Stages.JPG
          21 kB
        11. image-2017-04-12-16-17-38-285.png
          image-2017-04-12-16-17-38-285.png
          131 kB
        12. image-2017-04-12-16-16-17-144.png
          image-2017-04-12-16-16-17-144.png
          148 kB
        13. pipeline_mockup.png
          pipeline_mockup.png
          11 kB
        14. example.png
          example.png
          44 kB
        15. PipelineGraphProposal.png
          PipelineGraphProposal.png
          62 kB
        16. Screen Shot 2016-10-03 at 4.13.46 PM.png
          Screen Shot 2016-10-03 at 4.13.46 PM.png
          25 kB
        17. blueocean.sketch 2016-09-28 15-03-57.png
          blueocean.sketch 2016-09-28 15-03-57.png
          29 kB
        18. Capture.JPG
          Capture.JPG
          17 kB
        19. blueocean-failure.JPG
          blueocean-failure.JPG
          60 kB

          [JENKINS-38442] View sequential stages in the pipeline visualization graph

          mohamed badran created issue -

          Michael Neale added a comment -

          Ah, is this is nested stages, they won't be supported visually for some time (there is some question on how to show them, labelled steps below the parent stage, or a nested block of stages in the graph).

          For now, don't use nested stages, it won't do much good. I am curious what your aim is - you want to label steps or blocks of steps as doing something significant?

          Michael Neale added a comment - Ah, is this is nested stages, they won't be supported visually for some time (there is some question on how to show them, labelled steps below the parent stage, or a nested block of stages in the graph). For now, don't use nested stages, it won't do much good. I am curious what your aim is - you want to label steps or blocks of steps as doing something significant?
          James Dumay made changes -
          Issue Type Original: Bug [ 1 ] New: Story [ 10002 ]
          James Dumay made changes -
          Summary Original: Nested labelled blocks breaks blueocean New: Support nested stages in the Pipeline Graph
          James Dumay made changes -
          Description Original: I've tried using nested stages in order to group each shell script alone to have a meaningful data, however this broken the UI of blueocean and it stopped it from showing showing the variant steps.

          Code used:

          {code:java}
          def test = [:]

          test["a"] = {
              stage ("a") {
                  stage ("ab") {
                      sh "echo stage abc"
                  }
                  stage ("xyz") {
                      sh "echo stage xyz"
                  }
              }
          }

          test["b"] = {
              stage ("b") {
                  stage ("bb") {
                      sh "echo stage bb"
                  }
                  stage ("bxz") {
                      sh "echo stagebxyz"
                  }
              }
          }
          node {
             //stage 'start'
             parallel test
             stage ('middle') {
                 sh "echo middle"
             }
             
          }
          {code}

          New: {panel title="Support for nested stages is currently unplanned"}
          There is some debate on how this concept can be visualised in Blue Ocean. Its possible to have infinitely nested stages that would be impossible for the visualization to display correctly.
          {panel}

          *Original ticket*
          I've tried using nested stages in order to group each shell script alone to have a meaningful data, however this broken the UI of blueocean and it stopped it from showing showing the variant steps.

          Code used:

          {code:java}
          def test = [:]

          test["a"] = {
              stage ("a") {
                  stage ("ab") {
                      sh "echo stage abc"
                  }
                  stage ("xyz") {
                      sh "echo stage xyz"
                  }
              }
          }

          test["b"] = {
              stage ("b") {
                  stage ("bb") {
                      sh "echo stage bb"
                  }
                  stage ("bxz") {
                      sh "echo stagebxyz"
                  }
              }
          }
          node {
             //stage 'start'
             parallel test
             stage ('middle') {
                 sh "echo middle"
             }
             
          }
          {code}

          James Dumay made changes -
          Description Original: {panel title="Support for nested stages is currently unplanned"}
          There is some debate on how this concept can be visualised in Blue Ocean. Its possible to have infinitely nested stages that would be impossible for the visualization to display correctly.
          {panel}

          *Original ticket*
          I've tried using nested stages in order to group each shell script alone to have a meaningful data, however this broken the UI of blueocean and it stopped it from showing showing the variant steps.

          Code used:

          {code:java}
          def test = [:]

          test["a"] = {
              stage ("a") {
                  stage ("ab") {
                      sh "echo stage abc"
                  }
                  stage ("xyz") {
                      sh "echo stage xyz"
                  }
              }
          }

          test["b"] = {
              stage ("b") {
                  stage ("bb") {
                      sh "echo stage bb"
                  }
                  stage ("bxz") {
                      sh "echo stagebxyz"
                  }
              }
          }
          node {
             //stage 'start'
             parallel test
             stage ('middle') {
                 sh "echo middle"
             }
             
          }
          {code}

          New: {panel:title="Support for nested stages is currently unplanned"}
          There is some debate on how this concept can be visualised in Blue Ocean. Its possible to have infinitely nested stages that would be impossible for the visualization to display correctly.
          {panel}

          *Original ticket*
          I've tried using nested stages in order to group each shell script alone to have a meaningful data, however this broken the UI of blueocean and it stopped it from showing showing the variant steps.

          Code used:

          {code:java}
          def test = [:]

          test["a"] = {
              stage ("a") {
                  stage ("ab") {
                      sh "echo stage abc"
                  }
                  stage ("xyz") {
                      sh "echo stage xyz"
                  }
              }
          }

          test["b"] = {
              stage ("b") {
                  stage ("bb") {
                      sh "echo stage bb"
                  }
                  stage ("bxz") {
                      sh "echo stagebxyz"
                  }
              }
          }
          node {
             //stage 'start'
             parallel test
             stage ('middle') {
                 sh "echo middle"
             }
             
          }
          {code}

          James Dumay made changes -
          Description Original: {panel:title="Support for nested stages is currently unplanned"}
          There is some debate on how this concept can be visualised in Blue Ocean. Its possible to have infinitely nested stages that would be impossible for the visualization to display correctly.
          {panel}

          *Original ticket*
          I've tried using nested stages in order to group each shell script alone to have a meaningful data, however this broken the UI of blueocean and it stopped it from showing showing the variant steps.

          Code used:

          {code:java}
          def test = [:]

          test["a"] = {
              stage ("a") {
                  stage ("ab") {
                      sh "echo stage abc"
                  }
                  stage ("xyz") {
                      sh "echo stage xyz"
                  }
              }
          }

          test["b"] = {
              stage ("b") {
                  stage ("bb") {
                      sh "echo stage bb"
                  }
                  stage ("bxz") {
                      sh "echo stagebxyz"
                  }
              }
          }
          node {
             //stage 'start'
             parallel test
             stage ('middle') {
                 sh "echo middle"
             }
             
          }
          {code}

          New: {panel:title="Support for nested stages is currently unplanned"|titleBGColor=blue}
          There is some debate on how this concept can be visualised in Blue Ocean. Its possible to have infinitely nested stages that would be impossible for the visualization to display correctly.
          {panel}

          *Original ticket*
          I've tried using nested stages in order to group each shell script alone to have a meaningful data, however this broken the UI of blueocean and it stopped it from showing showing the variant steps.

          Code used:

          {code:java}
          def test = [:]

          test["a"] = {
              stage ("a") {
                  stage ("ab") {
                      sh "echo stage abc"
                  }
                  stage ("xyz") {
                      sh "echo stage xyz"
                  }
              }
          }

          test["b"] = {
              stage ("b") {
                  stage ("bb") {
                      sh "echo stage bb"
                  }
                  stage ("bxz") {
                      sh "echo stagebxyz"
                  }
              }
          }
          node {
             //stage 'start'
             parallel test
             stage ('middle') {
                 sh "echo middle"
             }
             
          }
          {code}

          James Dumay made changes -
          Description Original: {panel:title="Support for nested stages is currently unplanned"|titleBGColor=blue}
          There is some debate on how this concept can be visualised in Blue Ocean. Its possible to have infinitely nested stages that would be impossible for the visualization to display correctly.
          {panel}

          *Original ticket*
          I've tried using nested stages in order to group each shell script alone to have a meaningful data, however this broken the UI of blueocean and it stopped it from showing showing the variant steps.

          Code used:

          {code:java}
          def test = [:]

          test["a"] = {
              stage ("a") {
                  stage ("ab") {
                      sh "echo stage abc"
                  }
                  stage ("xyz") {
                      sh "echo stage xyz"
                  }
              }
          }

          test["b"] = {
              stage ("b") {
                  stage ("bb") {
                      sh "echo stage bb"
                  }
                  stage ("bxz") {
                      sh "echo stagebxyz"
                  }
              }
          }
          node {
             //stage 'start'
             parallel test
             stage ('middle') {
                 sh "echo middle"
             }
             
          }
          {code}

          New: {panel:title="Support for nested stages is currently unplanned"|titleBGColor=grey}
          There is some debate on how this concept can be visualised in Blue Ocean. Its possible to have infinitely nested stages that would be impossible for the visualization to display correctly.
          {panel}

          *Original ticket*
          I've tried using nested stages in order to group each shell script alone to have a meaningful data, however this broken the UI of blueocean and it stopped it from showing showing the variant steps.

          Code used:

          {code:java}
          def test = [:]

          test["a"] = {
              stage ("a") {
                  stage ("ab") {
                      sh "echo stage abc"
                  }
                  stage ("xyz") {
                      sh "echo stage xyz"
                  }
              }
          }

          test["b"] = {
              stage ("b") {
                  stage ("bb") {
                      sh "echo stage bb"
                  }
                  stage ("bxz") {
                      sh "echo stagebxyz"
                  }
              }
          }
          node {
             //stage 'start'
             parallel test
             stage ('middle') {
                 sh "echo middle"
             }
             
          }
          {code}

          James Dumay made changes -
          Description Original: {panel:title="Support for nested stages is currently unplanned"|titleBGColor=grey}
          There is some debate on how this concept can be visualised in Blue Ocean. Its possible to have infinitely nested stages that would be impossible for the visualization to display correctly.
          {panel}

          *Original ticket*
          I've tried using nested stages in order to group each shell script alone to have a meaningful data, however this broken the UI of blueocean and it stopped it from showing showing the variant steps.

          Code used:

          {code:java}
          def test = [:]

          test["a"] = {
              stage ("a") {
                  stage ("ab") {
                      sh "echo stage abc"
                  }
                  stage ("xyz") {
                      sh "echo stage xyz"
                  }
              }
          }

          test["b"] = {
              stage ("b") {
                  stage ("bb") {
                      sh "echo stage bb"
                  }
                  stage ("bxz") {
                      sh "echo stagebxyz"
                  }
              }
          }
          node {
             //stage 'start'
             parallel test
             stage ('middle') {
                 sh "echo middle"
             }
             
          }
          {code}

          New: {panel:title="Support for nested stages is currently unplanned"|titleBGColor=lightgrey}
          There is some debate on how this concept can be visualised in Blue Ocean. Its possible to have infinitely nested stages that would be impossible for the visualization to display correctly.
          {panel}

          *Original ticket*
          I've tried using nested stages in order to group each shell script alone to have a meaningful data, however this broken the UI of blueocean and it stopped it from showing showing the variant steps.

          Code used:

          {code:java}
          def test = [:]

          test["a"] = {
              stage ("a") {
                  stage ("ab") {
                      sh "echo stage abc"
                  }
                  stage ("xyz") {
                      sh "echo stage xyz"
                  }
              }
          }

          test["b"] = {
              stage ("b") {
                  stage ("bb") {
                      sh "echo stage bb"
                  }
                  stage ("bxz") {
                      sh "echo stagebxyz"
                  }
              }
          }
          node {
             //stage 'start'
             parallel test
             stage ('middle') {
                 sh "echo middle"
             }
             
          }
          {code}

          James Dumay made changes -
          Description Original: {panel:title="Support for nested stages is currently unplanned"|titleBGColor=lightgrey}
          There is some debate on how this concept can be visualised in Blue Ocean. Its possible to have infinitely nested stages that would be impossible for the visualization to display correctly.
          {panel}

          *Original ticket*
          I've tried using nested stages in order to group each shell script alone to have a meaningful data, however this broken the UI of blueocean and it stopped it from showing showing the variant steps.

          Code used:

          {code:java}
          def test = [:]

          test["a"] = {
              stage ("a") {
                  stage ("ab") {
                      sh "echo stage abc"
                  }
                  stage ("xyz") {
                      sh "echo stage xyz"
                  }
              }
          }

          test["b"] = {
              stage ("b") {
                  stage ("bb") {
                      sh "echo stage bb"
                  }
                  stage ("bxz") {
                      sh "echo stagebxyz"
                  }
              }
          }
          node {
             //stage 'start'
             parallel test
             stage ('middle') {
                 sh "echo middle"
             }
             
          }
          {code}

          New: {panel:title="Support for nested stages is currently unplanned"|titleBGColor=lightgrey}
          There is some debate on how this concept can be visualised in Blue Ocean. Its possible to have infinitely nested stages that would be impossible for the visualization to display correctly.
          {panel}


          *Original ticket*
          I've tried using nested stages in order to group each shell script alone to have a meaningful data, however this broken the UI of blueocean and it stopped it from showing showing the variant steps.

          Code used:

          {code:java}
          def test = [:]

          test["a"] = {
              stage ("a") {
                  stage ("ab") {
                      sh "echo stage abc"
                  }
                  stage ("xyz") {
                      sh "echo stage xyz"
                  }
              }
          }

          test["b"] = {
              stage ("b") {
                  stage ("bb") {
                      sh "echo stage bb"
                  }
                  stage ("bxz") {
                      sh "echo stagebxyz"
                  }
              }
          }
          node {
             //stage 'start'
             parallel test
             stage ('middle') {
                 sh "echo middle"
             }
             
          }
          {code}

            cloudbees CloudBees Inc.
            mbadran mohamed badran
            Votes:
            206 Vote for this issue
            Watchers:
            233 Start watching this issue

              Created:
              Updated:
              Resolved: