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

Steps are not shown up in Blue Ocean when one of parallel stages is skipped due to "when" condition

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      1. If one (or more) parallel stage is skipped due to "when" condition in declarative pipeline, Blue Ocean UI does not show up running steps inside active stages until all steps in all active stages are finished.

      2. In such case If one of steps is "input" step, there is no option to "Proceed" or "Abort" using Blue Ocean UI since no steps are shown up. It can be done only using regular UI or console output.

      3. If all stages are active, steps are shown up, but after some time it is impossible to switch between output of "Stage A" to "Stage B" and see steps of "Stage B" until all steps in "Stage A" are finished. Refreshing page in browser (F5) allows switching between stages for some time.

      Example:

      // code placeholder
      pipeline {
       agent any
       parameters {
        choice(choices: 'NO\nEVEN\nODD', description: '', name: 'A')
        choice(choices: 'NO\nEVEN\nODD', description: '', name: 'B')
       }
       environment {
        A = "${params.A}"
        B = "${params.B}"
       }
       stages {
        stage('ParallelStages') {
         parallel {
          stage('Stage A') {
           when {
            anyOf {
             environment name: 'A', value: 'EVEN'
             environment name: 'A', value: 'ODD'
            }
           }
          steps {
           echo "Running Stage A"
           sleep 10
           echo "Finishing Stage A"
          }
         }
         stage('Stage B') {
          when {
           anyOf {
            environment name: 'B', value: 'EVEN'
            environment name: 'B', value: 'ODD'
           }
          }
          steps {
           echo "Running Stage B"
           sleep 30
           echo "Finishing Stage B"
           }
          }
         }
        }
       }
      }
      

       

       

        Attachments

          Activity

          observer Michael Haskelsky created issue -
          observer Michael Haskelsky made changes -
          Field Original Value New Value
          Description 1. If one (or more) parallel stage does not run due to "when" condition in declarative pipeline, Blue Ocean UI does not show up running steps inside active stages until all steps in all active stages are finished.

          2. In such case If one of steps is "input" step, there is no option to "Proceed" or "Abort" using Blue Ocean UI since no steps are shown up. It can be done only using regular UI or console output.

          3. If all stages are active, steps are shown up, but it is impossible to switch between output of "Stage A" to "Stage B" and see steps of "Stage B" until all steps are finished in "Stage A".

          Example:
          {code:java}
          // code placeholder
          pipeline {
           agent any
           parameters {
            choice(choices: 'NO\nEVEN\nODD', description: '', name: 'A')
            choice(choices: 'NO\nEVEN\nODD', description: '', name: 'B')
           }
           environment {
            A = "${params.A}"
            B = "${params.B}"
           }
           stages {
            stage('ParallelStages') {
             parallel {
              stage('Stage A') {
               when {
                anyOf {
                 environment name: 'A', value: 'EVEN'
                 environment name: 'A', value: 'ODD'
                }
               }
              steps {
               echo "Running Stage A"
               sleep 10
               echo "Finishing Stage A"
              }
             }
             stage('Stage B') {
              when {
               anyOf {
                environment name: 'B', value: 'EVEN'
                environment name: 'B', value: 'ODD'
               }
              }
              steps {
               echo "Running Stage B"
               sleep 30
               echo "Finishing Stage B"
               }
              }
             }
            }
           }
          }
          {code}
           

           
          1. If one (or more) parallel stage does not run due to "when" condition in declarative pipeline, Blue Ocean UI does not show up running steps inside active stages until all steps in all active stages are finished.

          2. In such case If one of steps is "input" step, there is no option to "Proceed" or "Abort" using Blue Ocean UI since no steps are shown up. It can be done only using regular UI or console output.

          3. If all stages are active, steps are shown up, but it is impossible to switch between output of "Stage A" to "Stage B" and see steps of "Stage B" until all steps in "Stage A" are finished.

          Example:
          {code:java}
          // code placeholder
          pipeline {
           agent any
           parameters {
            choice(choices: 'NO\nEVEN\nODD', description: '', name: 'A')
            choice(choices: 'NO\nEVEN\nODD', description: '', name: 'B')
           }
           environment {
            A = "${params.A}"
            B = "${params.B}"
           }
           stages {
            stage('ParallelStages') {
             parallel {
              stage('Stage A') {
               when {
                anyOf {
                 environment name: 'A', value: 'EVEN'
                 environment name: 'A', value: 'ODD'
                }
               }
              steps {
               echo "Running Stage A"
               sleep 10
               echo "Finishing Stage A"
              }
             }
             stage('Stage B') {
              when {
               anyOf {
                environment name: 'B', value: 'EVEN'
                environment name: 'B', value: 'ODD'
               }
              }
              steps {
               echo "Running Stage B"
               sleep 30
               echo "Finishing Stage B"
               }
              }
             }
            }
           }
          }
          {code}
           

           
          observer Michael Haskelsky made changes -
          Summary Steps are not shown up in parallel stages when one of stages is not active due to "when" condition Steps are not shown up in BleuOcean when one of parallel stages is not active due to "when" condition
          observer Michael Haskelsky made changes -
          Summary Steps are not shown up in BleuOcean when one of parallel stages is not active due to "when" condition Steps are not shown up in Blue Ocean when one of parallel stages is not active due to "when" condition
          observer Michael Haskelsky made changes -
          Labels pipeline
          observer Michael Haskelsky made changes -
          Labels pipeline blueocean parallel pipeline stage steps
          observer Michael Haskelsky made changes -
          Summary Steps are not shown up in Blue Ocean when one of parallel stages is not active due to "when" condition Steps are not shown up in Blue Ocean when one of parallel stages is skipped due to "when" condition
          observer Michael Haskelsky made changes -
          Assignee Michael Haskelsky [ observer ]
          observer Michael Haskelsky made changes -
          Assignee Michael Haskelsky [ observer ]
          observer Michael Haskelsky made changes -
          Description 1. If one (or more) parallel stage does not run due to "when" condition in declarative pipeline, Blue Ocean UI does not show up running steps inside active stages until all steps in all active stages are finished.

          2. In such case If one of steps is "input" step, there is no option to "Proceed" or "Abort" using Blue Ocean UI since no steps are shown up. It can be done only using regular UI or console output.

          3. If all stages are active, steps are shown up, but it is impossible to switch between output of "Stage A" to "Stage B" and see steps of "Stage B" until all steps in "Stage A" are finished.

          Example:
          {code:java}
          // code placeholder
          pipeline {
           agent any
           parameters {
            choice(choices: 'NO\nEVEN\nODD', description: '', name: 'A')
            choice(choices: 'NO\nEVEN\nODD', description: '', name: 'B')
           }
           environment {
            A = "${params.A}"
            B = "${params.B}"
           }
           stages {
            stage('ParallelStages') {
             parallel {
              stage('Stage A') {
               when {
                anyOf {
                 environment name: 'A', value: 'EVEN'
                 environment name: 'A', value: 'ODD'
                }
               }
              steps {
               echo "Running Stage A"
               sleep 10
               echo "Finishing Stage A"
              }
             }
             stage('Stage B') {
              when {
               anyOf {
                environment name: 'B', value: 'EVEN'
                environment name: 'B', value: 'ODD'
               }
              }
              steps {
               echo "Running Stage B"
               sleep 30
               echo "Finishing Stage B"
               }
              }
             }
            }
           }
          }
          {code}
           

           
          1. If one (or more) parallel stage is skipped due to "when" condition in declarative pipeline, Blue Ocean UI does not show up running steps inside active stages until all steps in all active stages are finished.

          2. In such case If one of steps is "input" step, there is no option to "Proceed" or "Abort" using Blue Ocean UI since no steps are shown up. It can be done only using regular UI or console output.

          3. If all stages are active, steps are shown up, but it is impossible to switch between output of "Stage A" to "Stage B" and see steps of "Stage B" until all steps in "Stage A" are finished.

          Example:
          {code:java}
          // code placeholder
          pipeline {
           agent any
           parameters {
            choice(choices: 'NO\nEVEN\nODD', description: '', name: 'A')
            choice(choices: 'NO\nEVEN\nODD', description: '', name: 'B')
           }
           environment {
            A = "${params.A}"
            B = "${params.B}"
           }
           stages {
            stage('ParallelStages') {
             parallel {
              stage('Stage A') {
               when {
                anyOf {
                 environment name: 'A', value: 'EVEN'
                 environment name: 'A', value: 'ODD'
                }
               }
              steps {
               echo "Running Stage A"
               sleep 10
               echo "Finishing Stage A"
              }
             }
             stage('Stage B') {
              when {
               anyOf {
                environment name: 'B', value: 'EVEN'
                environment name: 'B', value: 'ODD'
               }
              }
              steps {
               echo "Running Stage B"
               sleep 30
               echo "Finishing Stage B"
               }
              }
             }
            }
           }
          }
          {code}
           

           
          observer Michael Haskelsky made changes -
          Description 1. If one (or more) parallel stage is skipped due to "when" condition in declarative pipeline, Blue Ocean UI does not show up running steps inside active stages until all steps in all active stages are finished.

          2. In such case If one of steps is "input" step, there is no option to "Proceed" or "Abort" using Blue Ocean UI since no steps are shown up. It can be done only using regular UI or console output.

          3. If all stages are active, steps are shown up, but it is impossible to switch between output of "Stage A" to "Stage B" and see steps of "Stage B" until all steps in "Stage A" are finished.

          Example:
          {code:java}
          // code placeholder
          pipeline {
           agent any
           parameters {
            choice(choices: 'NO\nEVEN\nODD', description: '', name: 'A')
            choice(choices: 'NO\nEVEN\nODD', description: '', name: 'B')
           }
           environment {
            A = "${params.A}"
            B = "${params.B}"
           }
           stages {
            stage('ParallelStages') {
             parallel {
              stage('Stage A') {
               when {
                anyOf {
                 environment name: 'A', value: 'EVEN'
                 environment name: 'A', value: 'ODD'
                }
               }
              steps {
               echo "Running Stage A"
               sleep 10
               echo "Finishing Stage A"
              }
             }
             stage('Stage B') {
              when {
               anyOf {
                environment name: 'B', value: 'EVEN'
                environment name: 'B', value: 'ODD'
               }
              }
              steps {
               echo "Running Stage B"
               sleep 30
               echo "Finishing Stage B"
               }
              }
             }
            }
           }
          }
          {code}
           

           
          1. If one (or more) parallel stage is skipped due to "when" condition in declarative pipeline, Blue Ocean UI does not show up running steps inside active stages until all steps in all active stages are finished.

          2. In such case If one of steps is "input" step, there is no option to "Proceed" or "Abort" using Blue Ocean UI since no steps are shown up. It can be done only using regular UI or console output.

          3. If all stages are active, steps are shown up, but sometimes it is impossible to switch between output of "Stage A" to "Stage B" and see steps of "Stage B" until all steps in "Stage A" are finished. Refreshing page in browser (F5) allows switching between stages for some time.

          Example:
          {code:java}
          // code placeholder
          pipeline {
           agent any
           parameters {
            choice(choices: 'NO\nEVEN\nODD', description: '', name: 'A')
            choice(choices: 'NO\nEVEN\nODD', description: '', name: 'B')
           }
           environment {
            A = "${params.A}"
            B = "${params.B}"
           }
           stages {
            stage('ParallelStages') {
             parallel {
              stage('Stage A') {
               when {
                anyOf {
                 environment name: 'A', value: 'EVEN'
                 environment name: 'A', value: 'ODD'
                }
               }
              steps {
               echo "Running Stage A"
               sleep 10
               echo "Finishing Stage A"
              }
             }
             stage('Stage B') {
              when {
               anyOf {
                environment name: 'B', value: 'EVEN'
                environment name: 'B', value: 'ODD'
               }
              }
              steps {
               echo "Running Stage B"
               sleep 30
               echo "Finishing Stage B"
               }
              }
             }
            }
           }
          }
          {code}
           

           
          observer Michael Haskelsky made changes -
          Description 1. If one (or more) parallel stage is skipped due to "when" condition in declarative pipeline, Blue Ocean UI does not show up running steps inside active stages until all steps in all active stages are finished.

          2. In such case If one of steps is "input" step, there is no option to "Proceed" or "Abort" using Blue Ocean UI since no steps are shown up. It can be done only using regular UI or console output.

          3. If all stages are active, steps are shown up, but sometimes it is impossible to switch between output of "Stage A" to "Stage B" and see steps of "Stage B" until all steps in "Stage A" are finished. Refreshing page in browser (F5) allows switching between stages for some time.

          Example:
          {code:java}
          // code placeholder
          pipeline {
           agent any
           parameters {
            choice(choices: 'NO\nEVEN\nODD', description: '', name: 'A')
            choice(choices: 'NO\nEVEN\nODD', description: '', name: 'B')
           }
           environment {
            A = "${params.A}"
            B = "${params.B}"
           }
           stages {
            stage('ParallelStages') {
             parallel {
              stage('Stage A') {
               when {
                anyOf {
                 environment name: 'A', value: 'EVEN'
                 environment name: 'A', value: 'ODD'
                }
               }
              steps {
               echo "Running Stage A"
               sleep 10
               echo "Finishing Stage A"
              }
             }
             stage('Stage B') {
              when {
               anyOf {
                environment name: 'B', value: 'EVEN'
                environment name: 'B', value: 'ODD'
               }
              }
              steps {
               echo "Running Stage B"
               sleep 30
               echo "Finishing Stage B"
               }
              }
             }
            }
           }
          }
          {code}
           

           
          1. If one (or more) parallel stage is skipped due to "when" condition in declarative pipeline, Blue Ocean UI does not show up running steps inside active stages until all steps in all active stages are finished.

          2. In such case If one of steps is "input" step, there is no option to "Proceed" or "Abort" using Blue Ocean UI since no steps are shown up. It can be done only using regular UI or console output.

          3. If all stages are active, steps are shown up, but after some time it is impossible to switch between output of "Stage A" to "Stage B" and see steps of "Stage B" until all steps in "Stage A" are finished. Refreshing page in browser (F5) allows switching between stages for some time.

          Example:
          {code:java}
          // code placeholder
          pipeline {
           agent any
           parameters {
            choice(choices: 'NO\nEVEN\nODD', description: '', name: 'A')
            choice(choices: 'NO\nEVEN\nODD', description: '', name: 'B')
           }
           environment {
            A = "${params.A}"
            B = "${params.B}"
           }
           stages {
            stage('ParallelStages') {
             parallel {
              stage('Stage A') {
               when {
                anyOf {
                 environment name: 'A', value: 'EVEN'
                 environment name: 'A', value: 'ODD'
                }
               }
              steps {
               echo "Running Stage A"
               sleep 10
               echo "Finishing Stage A"
              }
             }
             stage('Stage B') {
              when {
               anyOf {
                environment name: 'B', value: 'EVEN'
                environment name: 'B', value: 'ODD'
               }
              }
              steps {
               echo "Running Stage B"
               sleep 30
               echo "Finishing Stage B"
               }
              }
             }
            }
           }
          }
          {code}
           

           
          Hide
          38leinad Daniel Platz added a comment -

           Any update on this one? I am seeing the exact same issue on latest Jenkins builds (Jenkins (2.129)).

          Show
          38leinad Daniel Platz added a comment -  Any update on this one? I am seeing the exact same issue on latest Jenkins builds (Jenkins (2.129)).
          Hide
          ppferrari Pietro Ferrari added a comment -

          I am seeing the exact same issue too. 

          Show
          ppferrari Pietro Ferrari added a comment - I am seeing the exact same issue too. 
          Hide
          consek Jan Kacik added a comment - - edited

          We are too experiencing this on the latest LTS and plugins

          Show
          consek Jan Kacik added a comment - - edited We are too experiencing this on the latest LTS and plugins
          caladd Chris Ladd made changes -
          Priority Major [ 3 ] Critical [ 2 ]
          Hide
          caladd Chris Ladd added a comment -

          I'm seeing this with Jenkins 2.138.3 and Blue Ocean 1.14.0

          Show
          caladd Chris Ladd added a comment - I'm seeing this with Jenkins 2.138.3 and Blue Ocean 1.14.0
          caladd Chris Ladd made changes -
          Environment Jenkins ver. 2.89.3
          Blueocean 1.4.0
          Windows Server 2012 R2
          Jenkins ver. 2.89.3
          Blueocean 1.4.0
          Windows Server 2012 R2

          Jenkins 2.138.3
          Blue Ocean 1.14.0
          Linux
          Hide
          elliotg Elliot Graebert added a comment - - edited

          Hey folks, I'm seeing this, and it wasn't directly tied. The symptom is very similar: steps don't get populated until after the stage is done. It really ruins the Blue Ocean experience, as people just see blank stages. If those stages indicated a problem downstream that needs investigation, they have to check the artifact logs to figure it out.

           

          Jenkins 2.187 and Blue Ocean 1.18.0

          Show
          elliotg Elliot Graebert added a comment - - edited Hey folks, I'm seeing this, and it wasn't directly tied. The symptom is very similar: steps don't get populated until after the stage is done. It really ruins the Blue Ocean experience, as people just see blank stages. If those stages indicated a problem downstream that needs investigation, they have to check the artifact logs to figure it out.   Jenkins 2.187 and Blue Ocean 1.18.0
          Hide
          artur170dx Artur Czarnota added a comment -

          Still reproducible with Jenkins 2.222.1 and Blue Ocean 1.22.0

          Show
          artur170dx Artur Czarnota added a comment - Still reproducible with Jenkins 2.222.1 and Blue Ocean 1.22.0
          zaktaccardi Zak Taccardi made changes -
          Assignee Zak Taccardi [ zaktaccardi ]
          zaktaccardi Zak Taccardi made changes -
          Assignee Zak Taccardi [ zaktaccardi ]
          Hide
          juancoen Juan added a comment -

          Still reproducible with Jenkins 2.289.1 and Blue Ocean 1.24.7

          Show
          juancoen Juan added a comment - Still reproducible with Jenkins 2.289.1 and Blue Ocean 1.24.7
          Hide
          drew_hagen_at_campus Drew Hagen added a comment -

          Still reproducible with Jenkins ver. 2.226 and Blue Ocean 1.22.0

          Show
          drew_hagen_at_campus Drew Hagen added a comment - Still reproducible with Jenkins ver. 2.226 and Blue Ocean 1.22.0

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            observer Michael Haskelsky
            Votes:
            20 Vote for this issue
            Watchers:
            24 Start watching this issue

              Dates

              Created:
              Updated: