-
Bug
-
Resolution: Duplicate
-
Major
-
Jenkins version 2.46.1, Blue Origin 1.0.1,
Chrome 58.0.3029.96, Safari 10.1
Jenkins is installed via yum on a CentOS machine and is not using a reverse proxy.
-
-
Blue Ocean 1.1
Problem
- Parallel nodes defined within a script block cannot be selected while running
- Parallel nodes defined in Pipeline script cannot be selected
Notes
- Parallel nodes for declarative are NOT broken
- Verified on 1.1-beta2 as well as 1.0.1
To reproduce, run one of the scripts below as a non multibranch pipeline - note that you can't click on an in progress branch.
I have tested with the following combinations and all of them had this problem
Jenkins using script syntax and non-dynamic parallel
node { stage("Build/Test") { parallel( "b1": { sh 'ping -c 5 localhost' }, "b2": { sh 'ping -c 10 localhost' }, "b3": { sh 'ping -c 20 localhost' } ) } }
Jenkinsfile using script syntax and dynamic parallel
node { stage("Build/Test") { def builds = [:] for (def option in ["one", "two"]) { def node_name = "" if ("one" == "${option}") { node_name = "node001" } else { node_name = "node002" } def option_inside = "${option}" builds["${node_name} ${option_inside}"] = { node { stage("Build Test ${node_name} ${option_inside}") { sh 'ping -c 10 localhost' } } } } parallel builds } }
Jenkinsfile using script syntax without inner stages
node { stage("Build/Test") { def builds = [:] for (def option in ["one", "two"]) { def node_name = "" if ("one" == "${option}") { node_name = "node001" } else { node_name = "node002" } def option_inside = "${option}" builds["${node_name} ${option_inside}"] = { node { sh 'ping -c 10 localhost' } } } parallel builds } }
Declarative Jenkinsfile using script block
pipeline { agent none stages { stage("Build/Test") { steps { script { def builds = [:] for (def option in ["one", "two"]) { def node_name = "" if ("one" == "${option}") { node_name = "node001" } else { node_name = "node002" } def option_inside = "${option}" builds["${node_name} ${option_inside}"] = { node { stage("Build Test ${node_name} ${option_inside}") { sh 'ping -c 10 localhost' } } } } parallel builds } } } } }
- duplicates
-
JENKINS-44530 Parallel nodes cannot be selected when executing or awaiting input
-
- Closed
-
[JENKINS-44086] Parallel nodes for scripted pipelines cannot be clicked
Epic Link | New: JENKINS-43953 [ 181485 ] |
Assignee | New: James Dumay [ jamesdumay ] |
Sprint | New: Blue Ocean 1.1-beta3 [ 316 ] |
Description |
Original:
I have a pipeline that generates multiple parallel nodes/stages. I've simplified my use case below: {noformat} pipeline { agent none stages { stage("Build/Test") { steps { script { def builds = [:] for (def option in ["one", "two"]) { def node_name = "" if ("one" == "${option}") { node_name = "node001" } else { node_name = "node002" } def option_inside = "${option}" builds["${node_name} ${option_inside}"] = { node ("${node_name}") { stage("Build Test ${node_name} ${option_inside}") { unstash "${node_name}-tarball" sh "$HOME/software/jenkins_scripts/nightly.sh ${config_inside} gnu ${option_inside} yes" } } } } } parallel builds } } } } } {noformat} This produces a job that looks like the screen shot below (with more options in the screenshot). The issue is that I can't click on any of the stages that are running except for the topmost one. I can click on any of the stages that are completed. This is a pain because it means that there's no way to get an update on in progress jobs, which is a problem for me because our jobs can sometimes run for as long as 8 hours. I don't think this is an issue with the browser or OS, but hopefully you'll tell me that it is and I can try to fix things on my end. |
New:
*Problem* Parallel nodes defined within a script block cannot be selected !node-within-script-block.gif! *Jenkinsfile* {code} pipeline { agent none stages { stage("Build/Test") { steps { script { def builds = [:] for (def option in ["one", "two"]) { def node_name = "" if ("one" == "${option}") { node_name = "node001" } else { node_name = "node002" } def option_inside = "${option}" builds["${node_name} ${option_inside}"] = { node { stage("Build Test ${node_name} ${option_inside}") { sh 'ping -c 10 localhost' } } } } parallel builds } } } } } {code} *Original request* I have a pipeline that generates multiple parallel nodes/stages. I've simplified my use case below: {noformat} pipeline { agent none stages { stage("Build/Test") { steps { script { def builds = [:] for (def option in ["one", "two"]) { def node_name = "" if ("one" == "${option}") { node_name = "node001" } else { node_name = "node002" } def option_inside = "${option}" builds["${node_name} ${option_inside}"] = { node ("${node_name}") { stage("Build Test ${node_name} ${option_inside}") { unstash "${node_name}-tarball" sh "$HOME/software/jenkins_scripts/nightly.sh ${config_inside} gnu ${option_inside} yes" } } } } } parallel builds } } } } } {noformat} This produces a job that looks like the screen shot below (with more options in the screenshot). The issue is that I can't click on any of the stages that are running except for the topmost one. I can click on any of the stages that are completed. This is a pain because it means that there's no way to get an update on in progress jobs, which is a problem for me because our jobs can sometimes run for as long as 8 hours. I don't think this is an issue with the browser or OS, but hopefully you'll tell me that it is and I can try to fix things on my end. |
Attachment | New: node-within-script-block.gif [ 37627 ] |
Description |
Original:
*Problem* Parallel nodes defined within a script block cannot be selected !node-within-script-block.gif! *Jenkinsfile* {code} pipeline { agent none stages { stage("Build/Test") { steps { script { def builds = [:] for (def option in ["one", "two"]) { def node_name = "" if ("one" == "${option}") { node_name = "node001" } else { node_name = "node002" } def option_inside = "${option}" builds["${node_name} ${option_inside}"] = { node { stage("Build Test ${node_name} ${option_inside}") { sh 'ping -c 10 localhost' } } } } parallel builds } } } } } {code} *Original request* I have a pipeline that generates multiple parallel nodes/stages. I've simplified my use case below: {noformat} pipeline { agent none stages { stage("Build/Test") { steps { script { def builds = [:] for (def option in ["one", "two"]) { def node_name = "" if ("one" == "${option}") { node_name = "node001" } else { node_name = "node002" } def option_inside = "${option}" builds["${node_name} ${option_inside}"] = { node ("${node_name}") { stage("Build Test ${node_name} ${option_inside}") { unstash "${node_name}-tarball" sh "$HOME/software/jenkins_scripts/nightly.sh ${config_inside} gnu ${option_inside} yes" } } } } } parallel builds } } } } } {noformat} This produces a job that looks like the screen shot below (with more options in the screenshot). The issue is that I can't click on any of the stages that are running except for the topmost one. I can click on any of the stages that are completed. This is a pain because it means that there's no way to get an update on in progress jobs, which is a problem for me because our jobs can sometimes run for as long as 8 hours. I don't think this is an issue with the browser or OS, but hopefully you'll tell me that it is and I can try to fix things on my end. |
New:
*Problem* Parallel nodes defined within a script block cannot be selected !node-within-script-block.gif|thumbnail! *Jenkinsfile* {code} pipeline { agent none stages { stage("Build/Test") { steps { script { def builds = [:] for (def option in ["one", "two"]) { def node_name = "" if ("one" == "${option}") { node_name = "node001" } else { node_name = "node002" } def option_inside = "${option}" builds["${node_name} ${option_inside}"] = { node { stage("Build Test ${node_name} ${option_inside}") { sh 'ping -c 10 localhost' } } } } parallel builds } } } } } {code} *Original request* I have a pipeline that generates multiple parallel nodes/stages. I've simplified my use case below: {noformat} pipeline { agent none stages { stage("Build/Test") { steps { script { def builds = [:] for (def option in ["one", "two"]) { def node_name = "" if ("one" == "${option}") { node_name = "node001" } else { node_name = "node002" } def option_inside = "${option}" builds["${node_name} ${option_inside}"] = { node ("${node_name}") { stage("Build Test ${node_name} ${option_inside}") { unstash "${node_name}-tarball" sh "$HOME/software/jenkins_scripts/nightly.sh ${config_inside} gnu ${option_inside} yes" } } } } } parallel builds } } } } } {noformat} This produces a job that looks like the screen shot below (with more options in the screenshot). The issue is that I can't click on any of the stages that are running except for the topmost one. I can click on any of the stages that are completed. This is a pain because it means that there's no way to get an update on in progress jobs, which is a problem for me because our jobs can sometimes run for as long as 8 hours. I don't think this is an issue with the browser or OS, but hopefully you'll tell me that it is and I can try to fix things on my end. |
Summary | Original: Clicking on multiple "in progress" in Blue Ocean stages doesn't work | New: Parallel nodes defined within a script block cannot be selected |
Description |
Original:
*Problem* Parallel nodes defined within a script block cannot be selected !node-within-script-block.gif|thumbnail! *Jenkinsfile* {code} pipeline { agent none stages { stage("Build/Test") { steps { script { def builds = [:] for (def option in ["one", "two"]) { def node_name = "" if ("one" == "${option}") { node_name = "node001" } else { node_name = "node002" } def option_inside = "${option}" builds["${node_name} ${option_inside}"] = { node { stage("Build Test ${node_name} ${option_inside}") { sh 'ping -c 10 localhost' } } } } parallel builds } } } } } {code} *Original request* I have a pipeline that generates multiple parallel nodes/stages. I've simplified my use case below: {noformat} pipeline { agent none stages { stage("Build/Test") { steps { script { def builds = [:] for (def option in ["one", "two"]) { def node_name = "" if ("one" == "${option}") { node_name = "node001" } else { node_name = "node002" } def option_inside = "${option}" builds["${node_name} ${option_inside}"] = { node ("${node_name}") { stage("Build Test ${node_name} ${option_inside}") { unstash "${node_name}-tarball" sh "$HOME/software/jenkins_scripts/nightly.sh ${config_inside} gnu ${option_inside} yes" } } } } } parallel builds } } } } } {noformat} This produces a job that looks like the screen shot below (with more options in the screenshot). The issue is that I can't click on any of the stages that are running except for the topmost one. I can click on any of the stages that are completed. This is a pain because it means that there's no way to get an update on in progress jobs, which is a problem for me because our jobs can sometimes run for as long as 8 hours. I don't think this is an issue with the browser or OS, but hopefully you'll tell me that it is and I can try to fix things on my end. |
New:
*Problem* Parallel nodes defined within a script block cannot be selected !node-within-script-block.gif|thumbnail! *Jenkinsfile using script syntax* {code} node { stage("Build/Test") { def builds = [:] for (def option in ["one", "two"]) { def node_name = "" if ("one" == "${option}") { node_name = "node001" } else { node_name = "node002" } def option_inside = "${option}" builds["${node_name} ${option_inside}"] = { node { stage("Build Test ${node_name} ${option_inside}") { sh 'ping -c 10 localhost' } } } } parallel builds } } {code} *Declarative Jenkinsfile using script block* {code} pipeline { agent none stages { stage("Build/Test") { steps { script { def builds = [:] for (def option in ["one", "two"]) { def node_name = "" if ("one" == "${option}") { node_name = "node001" } else { node_name = "node002" } def option_inside = "${option}" builds["${node_name} ${option_inside}"] = { node { stage("Build Test ${node_name} ${option_inside}") { sh 'ping -c 10 localhost' } } } } parallel builds } } } } } {code} *Original request* I have a pipeline that generates multiple parallel nodes/stages. I've simplified my use case below: {noformat} pipeline { agent none stages { stage("Build/Test") { steps { script { def builds = [:] for (def option in ["one", "two"]) { def node_name = "" if ("one" == "${option}") { node_name = "node001" } else { node_name = "node002" } def option_inside = "${option}" builds["${node_name} ${option_inside}"] = { node ("${node_name}") { stage("Build Test ${node_name} ${option_inside}") { unstash "${node_name}-tarball" sh "$HOME/software/jenkins_scripts/nightly.sh ${config_inside} gnu ${option_inside} yes" } } } } } parallel builds } } } } } {noformat} This produces a job that looks like the screen shot below (with more options in the screenshot). The issue is that I can't click on any of the stages that are running except for the topmost one. I can click on any of the stages that are completed. This is a pain because it means that there's no way to get an update on in progress jobs, which is a problem for me because our jobs can sometimes run for as long as 8 hours. I don't think this is an issue with the browser or OS, but hopefully you'll tell me that it is and I can try to fix things on my end. |
Description |
Original:
*Problem* Parallel nodes defined within a script block cannot be selected !node-within-script-block.gif|thumbnail! *Jenkinsfile using script syntax* {code} node { stage("Build/Test") { def builds = [:] for (def option in ["one", "two"]) { def node_name = "" if ("one" == "${option}") { node_name = "node001" } else { node_name = "node002" } def option_inside = "${option}" builds["${node_name} ${option_inside}"] = { node { stage("Build Test ${node_name} ${option_inside}") { sh 'ping -c 10 localhost' } } } } parallel builds } } {code} *Declarative Jenkinsfile using script block* {code} pipeline { agent none stages { stage("Build/Test") { steps { script { def builds = [:] for (def option in ["one", "two"]) { def node_name = "" if ("one" == "${option}") { node_name = "node001" } else { node_name = "node002" } def option_inside = "${option}" builds["${node_name} ${option_inside}"] = { node { stage("Build Test ${node_name} ${option_inside}") { sh 'ping -c 10 localhost' } } } } parallel builds } } } } } {code} *Original request* I have a pipeline that generates multiple parallel nodes/stages. I've simplified my use case below: {noformat} pipeline { agent none stages { stage("Build/Test") { steps { script { def builds = [:] for (def option in ["one", "two"]) { def node_name = "" if ("one" == "${option}") { node_name = "node001" } else { node_name = "node002" } def option_inside = "${option}" builds["${node_name} ${option_inside}"] = { node ("${node_name}") { stage("Build Test ${node_name} ${option_inside}") { unstash "${node_name}-tarball" sh "$HOME/software/jenkins_scripts/nightly.sh ${config_inside} gnu ${option_inside} yes" } } } } } parallel builds } } } } } {noformat} This produces a job that looks like the screen shot below (with more options in the screenshot). The issue is that I can't click on any of the stages that are running except for the topmost one. I can click on any of the stages that are completed. This is a pain because it means that there's no way to get an update on in progress jobs, which is a problem for me because our jobs can sometimes run for as long as 8 hours. I don't think this is an issue with the browser or OS, but hopefully you'll tell me that it is and I can try to fix things on my end. |
New:
*Problem* * Parallel nodes defined within a script block cannot be selected * Parallel nodes defined in Pipeline script cannot be selected !node-within-script-block.gif|thumbnail! *Jenkinsfile using script syntax* {code} node { stage("Build/Test") { def builds = [:] for (def option in ["one", "two"]) { def node_name = "" if ("one" == "${option}") { node_name = "node001" } else { node_name = "node002" } def option_inside = "${option}" builds["${node_name} ${option_inside}"] = { node { stage("Build Test ${node_name} ${option_inside}") { sh 'ping -c 10 localhost' } } } } parallel builds } } {code} *Declarative Jenkinsfile using script block* {code} pipeline { agent none stages { stage("Build/Test") { steps { script { def builds = [:] for (def option in ["one", "two"]) { def node_name = "" if ("one" == "${option}") { node_name = "node001" } else { node_name = "node002" } def option_inside = "${option}" builds["${node_name} ${option_inside}"] = { node { stage("Build Test ${node_name} ${option_inside}") { sh 'ping -c 10 localhost' } } } } parallel builds } } } } } {code} *Original request* I have a pipeline that generates multiple parallel nodes/stages. I've simplified my use case below: {noformat} pipeline { agent none stages { stage("Build/Test") { steps { script { def builds = [:] for (def option in ["one", "two"]) { def node_name = "" if ("one" == "${option}") { node_name = "node001" } else { node_name = "node002" } def option_inside = "${option}" builds["${node_name} ${option_inside}"] = { node ("${node_name}") { stage("Build Test ${node_name} ${option_inside}") { unstash "${node_name}-tarball" sh "$HOME/software/jenkins_scripts/nightly.sh ${config_inside} gnu ${option_inside} yes" } } } } } parallel builds } } } } } {noformat} This produces a job that looks like the screen shot below (with more options in the screenshot). The issue is that I can't click on any of the stages that are running except for the topmost one. I can click on any of the stages that are completed. This is a pain because it means that there's no way to get an update on in progress jobs, which is a problem for me because our jobs can sometimes run for as long as 8 hours. I don't think this is an issue with the browser or OS, but hopefully you'll tell me that it is and I can try to fix things on my end. |
Description |
Original:
*Problem* * Parallel nodes defined within a script block cannot be selected * Parallel nodes defined in Pipeline script cannot be selected !node-within-script-block.gif|thumbnail! *Jenkinsfile using script syntax* {code} node { stage("Build/Test") { def builds = [:] for (def option in ["one", "two"]) { def node_name = "" if ("one" == "${option}") { node_name = "node001" } else { node_name = "node002" } def option_inside = "${option}" builds["${node_name} ${option_inside}"] = { node { stage("Build Test ${node_name} ${option_inside}") { sh 'ping -c 10 localhost' } } } } parallel builds } } {code} *Declarative Jenkinsfile using script block* {code} pipeline { agent none stages { stage("Build/Test") { steps { script { def builds = [:] for (def option in ["one", "two"]) { def node_name = "" if ("one" == "${option}") { node_name = "node001" } else { node_name = "node002" } def option_inside = "${option}" builds["${node_name} ${option_inside}"] = { node { stage("Build Test ${node_name} ${option_inside}") { sh 'ping -c 10 localhost' } } } } parallel builds } } } } } {code} *Original request* I have a pipeline that generates multiple parallel nodes/stages. I've simplified my use case below: {noformat} pipeline { agent none stages { stage("Build/Test") { steps { script { def builds = [:] for (def option in ["one", "two"]) { def node_name = "" if ("one" == "${option}") { node_name = "node001" } else { node_name = "node002" } def option_inside = "${option}" builds["${node_name} ${option_inside}"] = { node ("${node_name}") { stage("Build Test ${node_name} ${option_inside}") { unstash "${node_name}-tarball" sh "$HOME/software/jenkins_scripts/nightly.sh ${config_inside} gnu ${option_inside} yes" } } } } } parallel builds } } } } } {noformat} This produces a job that looks like the screen shot below (with more options in the screenshot). The issue is that I can't click on any of the stages that are running except for the topmost one. I can click on any of the stages that are completed. This is a pain because it means that there's no way to get an update on in progress jobs, which is a problem for me because our jobs can sometimes run for as long as 8 hours. I don't think this is an issue with the browser or OS, but hopefully you'll tell me that it is and I can try to fix things on my end. |
New:
*Problem* * Parallel nodes defined within a script block cannot be selected * Parallel nodes defined in Pipeline script cannot be selected * Parallel nodes for declarative are NOT broken *Screencast* !node-within-script-block.gif|thumbnail! *Jenkinsfile using script syntax* {code} node { stage("Build/Test") { def builds = [:] for (def option in ["one", "two"]) { def node_name = "" if ("one" == "${option}") { node_name = "node001" } else { node_name = "node002" } def option_inside = "${option}" builds["${node_name} ${option_inside}"] = { node { stage("Build Test ${node_name} ${option_inside}") { sh 'ping -c 10 localhost' } } } } parallel builds } } {code} *Declarative Jenkinsfile using script block* {code} pipeline { agent none stages { stage("Build/Test") { steps { script { def builds = [:] for (def option in ["one", "two"]) { def node_name = "" if ("one" == "${option}") { node_name = "node001" } else { node_name = "node002" } def option_inside = "${option}" builds["${node_name} ${option_inside}"] = { node { stage("Build Test ${node_name} ${option_inside}") { sh 'ping -c 10 localhost' } } } } parallel builds } } } } } {code} *Original request* I have a pipeline that generates multiple parallel nodes/stages. I've simplified my use case below: {noformat} pipeline { agent none stages { stage("Build/Test") { steps { script { def builds = [:] for (def option in ["one", "two"]) { def node_name = "" if ("one" == "${option}") { node_name = "node001" } else { node_name = "node002" } def option_inside = "${option}" builds["${node_name} ${option_inside}"] = { node ("${node_name}") { stage("Build Test ${node_name} ${option_inside}") { unstash "${node_name}-tarball" sh "$HOME/software/jenkins_scripts/nightly.sh ${config_inside} gnu ${option_inside} yes" } } } } } parallel builds } } } } } {noformat} This produces a job that looks like the screen shot below (with more options in the screenshot). The issue is that I can't click on any of the stages that are running except for the topmost one. I can click on any of the stages that are completed. This is a pain because it means that there's no way to get an update on in progress jobs, which is a problem for me because our jobs can sometimes run for as long as 8 hours. I don't think this is an issue with the browser or OS, but hopefully you'll tell me that it is and I can try to fix things on my end. |