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

Inputs not showing in inner most nested parallels

    Details

    • Similar Issues:

      Description

      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 ")
            }	
          }
        )
      }
      

        Attachments

        1. first.png
          59 kB
          James Dumay
        2. jenkins_BO_bug_1.png
          21 kB
          Avi K
        3. jenkins_BO_bug_2.png
          24 kB
          Avi K
        4. second.png
          47 kB
          James Dumay

          Issue Links

            Activity

            Hide
            jamesdumay James Dumay added a comment -

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

            Show
            jamesdumay James Dumay added a comment - Avi K could you please provide a screenshot of what can be seen?
            Hide
            kopper8 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

            Show
            kopper8 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
            Hide
            jamesdumay James Dumay added a comment -

            Vivek Pandey is there a known limitation here?

            Show
            jamesdumay James Dumay added a comment - Vivek Pandey is there a known limitation here?
            Hide
            jamesdumay James Dumay added a comment - - edited

            Avi K 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

            Show
            jamesdumay James Dumay added a comment - - edited Avi K 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

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: