Blue Ocean UI not prompting for input correctly when there are parallel input prompts in a pipeline

17 views
Skip to first unread message

Matthew Lauber

unread,
Jul 8, 2019, 5:15:38 PM7/8/19
to jenkins...@googlegroups.com
All, 
   I'm testing out the pipelines and blue ocean UI for our deployment use case.  Basically, we've got 3 different products that are deployed at the same time.  Each deployment starts with deploying to a beta server, and then approving the deployment for the full application.  The issue I'm having is that in the blue ocean UI, I can't get the "Waiting for interactive input" to change parallel branches.  No matter which of the P#-b steps I click on, it shows the "Wait for interactive input" prompt for step P1-b.  Anyone know what's going on here, or have run into this in the past?  I've put a simple test pipeline demonstrating the behavior below.

Thanks,
Matt Lauber

----

pipeline {
    agent none
    stages {
        stage("Step 1") {
            steps {
                echo "Step 1"
            }
        }
        stage("Parallel") {
            parallel {
                stage("P1") {
                    agent { label 'master' }
                    stages {
                        stage("P1-a") {
                            steps {
                                echo "P1-a"
                            }
                        }
                        stage("P1-b") {
                            input {
                                message "Deploy P1-b?"
                                ok "Deploy P1-b"
                            }
                            steps {
                                echo "P1-b"
                            }
                        }
                    }
                }
                stage("P2") {
                    agent { label 'master' }
                    stages {
                        stage("P2-a") {
                            steps {
                                echo "P2-a"
                            }
                        }
                        stage("P2-b") {
                            input {
                                message "Deploy P2-b?"
                                ok "Deploy P2-b"
                            }
                            steps {
                                echo "P2-b"
                            }
                        }
                    }
                }
                stage("P3") {
                    agent { label 'master' }
                    stages {
                        stage("P3-a") {
                            steps {
                                echo "P3-a"
                            }
                        }
                        stage("P3-b") {
                            input {
                                message "Deploy P3-b?"
                                ok "Deploy P3-b"
                            }
                            steps {
                                echo "P3-b"
                            }
                        }
                    }
                }
            }
        }
    }
}

Ivan Fernandez Calvo

unread,
Jul 13, 2019, 7:10:46 AM7/13/19
to Jenkins Users
Hi,

I don't think this is supported, it will only work with one input at a time, so probably you have to group your inputs in a stage before your parallel stages

Matthew Lauber

unread,
Jul 16, 2019, 2:22:11 PM7/16/19
to Jenkins Users
It handles things alright, in that it will eventually show all prompts.  It just insists on showing them in the order they're in the jenkinsfile, rather than based on which job gets done first.  But thanks,  I given that info, I won't continue to try to figure out a way to do so, and will rework it to handle waiting until all job-a's are done before I ask if we want to deploy the job-b's.  

Thanks,
Matt Lauber
Reply all
Reply to author
Forward
0 new messages