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

Inputs not showing in inner most nested parallels

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Minor Minor
    • blueocean-plugin
    • Jenkins 2.43

      Original request
      For this pipeline , in Blue Ocean, it requests input once, the second input request is not shown and the flow is paused

      stage ("stage1") {
        parallel (
          "s1": {
            parallel (
            	"DB": {
            		node {
            			println("Done DB1")
            			println("Done DB2")
            		}
            	},
            	"ENV": {
            		node {
                  input message: 'What do you want to do here?', parameters: [choice(choices: 'Rerun\nSkip\nAbort', description: '', name: '')], submitterParameter: ''
                  println("done env")
            		}
            	}
            )
            node {
            		println("Done ENV2")
            }
            node {
              input message: 'What do you want to do here?', parameters: [choice(choices: 'Rerun\nSkip\nAbort', description: '', name: '')], submitterParameter: ''
              println("Done ")
            }	
          }
        )
      }
      

        1. first.png
          first.png
          59 kB
        2. jenkins_BO_bug_1.png
          jenkins_BO_bug_1.png
          21 kB
        3. jenkins_BO_bug_2.png
          jenkins_BO_bug_2.png
          24 kB
        4. second.png
          second.png
          47 kB

          [JENKINS-42062] Inputs not showing in inner most nested parallels

          James Dumay added a comment -

          kopper8 could you please provide a screenshot of what can be seen?

          James Dumay added a comment - kopper8 could you please provide a screenshot of what can be seen?

          Avi K added a comment -

          Hi , Added screenshots, you can see that the pipeline is paused, waiting for an input, but in the pipeline view, it is not showing input request

          Avi K added a comment - Hi , Added screenshots, you can see that the pipeline is paused, waiting for an input, but in the pipeline view, it is not showing input request

          James Dumay added a comment -

          vivek is there a known limitation here?

          James Dumay added a comment - vivek is there a known limitation here?

          James Dumay added a comment - - edited

          kopper8 on further review this problem is related to JENKINS-35836. The problem is that your last input in your example is not wrapped in its own parallel branch or within a stage.

          You cannot visualise steps placed after a parallel block. For example, where println("Done ENV2") or the last input is placed. They have to go on in their own stage to be visualised on the graph.

          Something like the modification below would work:

          stage("stage 1") {
            parallel(
              "s1": {
                parallel (
                  "DB": {
                    node {
                      println("Done DB1")
                      println("Done DB2")
                    }
                  },
                  "ENV": {
                    node {
                      input message: 'What do you want to do here?', parameters: [choice(choices: 'Rerun\nSkip\nAbort', description: '', name: '')], submitterParameter: ''
                      println("done env")
                    }
                  }
                )
              }
            )
          }
          
          stage('second input') {
            node {
              input message: 'What do you want to do here?', parameters: [choice(choices: 'Rerun\nSkip\nAbort', description: '', name: '')], submitterParameter: ''
              println("Done ")
            }	
          }
          

          That would visualize the pipeline like so:

          First input approval

          Second input approval

          James Dumay added a comment - - edited kopper8 on further review this problem is related to JENKINS-35836 . The problem is that your last input in your example is not wrapped in its own parallel branch or within a stage. You cannot visualise steps placed after a parallel block. For example, where println("Done ENV2") or the last input is placed. They have to go on in their own stage to be visualised on the graph. Something like the modification below would work: stage( "stage 1" ) { parallel( "s1" : { parallel ( "DB" : { node { println( "Done DB1" ) println( "Done DB2" ) } }, "ENV" : { node { input message: 'What do you want to do here?' , parameters: [choice(choices: 'Rerun\nSkip\nAbort' , description: '', name: ' ')], submitterParameter: ' ' println( "done env" ) } } ) } ) } stage( 'second input' ) { node { input message: 'What do you want to do here?' , parameters: [choice(choices: 'Rerun\nSkip\nAbort' , description: '', name: ' ')], submitterParameter: ' ' println( "Done " ) } } That would visualize the pipeline like so: First input approval Second input approval

            Unassigned Unassigned
            kopper8 Avi K
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: