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

When using Jenkins Declarative Pipeline: Jenkins Console output is blank when using input step

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Blocker Blocker
    • pipeline
    • None
    • Docker image jenkins:2.426.3-lts-jdk11, jenkins:jdk17, jenkins:latest-jdk21 running on kubernetes or Docker.

      Jenkins Console Output Issue with Input Step

      Issue Description

      Console output is not displaying in Jenkins web interface when using pipeline-as-code with input steps. This issue occurs specifically with Jenkins versions 2.426.3-lts-jdk11 and latest-jdk21, but works correctly in version 2.426.1-lts-jdk11.

      Environment

      • Affected Jenkins versions:
      • jenkins:2.426.3-lts-jdk11
      • jenkins:latest-jdk21
      • Working Jenkins version:
      • jenkins:2.426.1-lts-jdk11

      Pipeline Configuration

      The issue manifests when the following input step is present in the pipeline:

      def userInput = input(
          message: 'Please enter landing zone code',
          parameters: [string(
              defaultValue: 'lz000',
              description: 'The name of the assigned landing zone for this application',
              name: 'lzCode'
          )]
      )

      ```
      For all Jenkins steps and stages after this the Jenkins console is blank.
      However the output is visible in raw text format.

       

      Attempted Solutions

      1. JAVA_OPTS Modification
      • Added memory settings:
         
         
             JAVA_OPTS="-Xmx2048m -Xms512m"
         
         
      • Added GC logging:
         
         
             JAVA_OPTS="-Xlog:gc*=debug:file=/var/jenkins_home/gc.log"
      1. JENKINS_OPTS Modification
      • Modified logging settings:
         
             JENKINS_OPTS="{}httpKeepAliveTimeout=60000{-} -handlerCountMax=100"
         
         
      • Adjusted console output buffer:
         
         
             JENKINS_OPTS="--consoleOutputBufferSize=20MB"

      Symptoms

      • Pipeline execution continues normally
      • Web interface shows no console output
      • Pipeline steps execute successfully
      • Input prompts appear but without surrounding console context
      • Issue only manifests when input step is present in pipeline code

      Impact

      • Difficult to debug pipeline issues
      • No visibility into pipeline execution progress
      • Reduced ability to troubleshoot deployment problems
      • Affects operational efficiency and monitoring capabilities

      Workaround

      Currently, the only viable workaround is to use Jenkins version 2.426.1-lts-jdk11, which does not exhibit this issue.

      Additional Notes

      • The issue appears to be related specifically to the interaction between the input step and console output handling
      • Problem persists across different browser types
      • Jenkins system logs show no relevant errors
      • Issue is reproducible in clean installations of affected versions

      Request

      Please investigate why console output fails specifically when input steps are present in pipeline code for versions after 2.426.1-lts-jdk11. This appears to be a regression in newer Jenkins versions.

       

      The complete pipeline is below

       

      pipeline {
        agent any
        options {
          disableConcurrentBuilds() 
          timeout(time: 1, unit: 'HOURS') 
          skipDefaultCheckout()
        }
        environment {
          BITBUCKET_COMMON_CREDS = credentials('BITBUCKET_COMMON_CREDS') REPOSITORY_CREDS = credentials('REPOSITORY_INFO') CURRENT_BRANCH = "main"
          PIPELINE_LOG_LEVEL = 'FINEST'
          LANDING_ZONE_CODE = 'lz000' // Default landing zone code 
        }
          stages {
            stage("Extracting landing zone environment variables") {
              steps {
                script {
                  try {
                    def userInput = input(
                      message: 'Please enter landing zone code',
                      parameters: [string(
                        defaultValue: 'lz000',
                        description: 'The name of the assigned landing zone for this application',
                        name: 'lzCode'
                      )]
                    )
                    env.lzCode = userInput              def props = readProperties(file: "${env.lzCode}.conf")
                    props.each {
                      k,
                      v -> env[k] = v
                    }
                  } catch (Exception e) {
                    error "Failed to process landing zone configuration"
                  }
                }
              }
            }
            stage("Getting Azure CSF Landing Zone Foundations") {
              steps {
                script {
                  env.ORG_REPO_SPACE = REPOSITORY_CREDS_USR env.GIT_REPO = REPOSITORY_CREDS_PSW
                }
                cleanWs()
                withCredentials([usernamePassword(credentialsId: 'REPOSITORY_INFO',
                  usernameVariable: 'REPO_SPACE',
                  passwordVariable: 'REPO_NAME')]) {
                  script {
                    def gitUrl = "https://${BITBUCKET_COMMON_CREDS_USR}:${BITBUCKET_COMMON_CREDS_PSW}@github.com/${ORG_REPO_SPACE}/${GIT_REPO}.git"
                    checkout([$class: 'GitSCM',
                      branches: [
                        [name: "*/${CURRENT_BRANCH}"]
                      ],
                      userRemoteConfigs: [
                        [url: gitUrl]
                      ]
                    ])
                  }
                }
              }
            }
            stage("Configuring Azure Access") {
              steps {
                script {
                  sh 'chmod +x ./login.sh'
                }
              }
            }
            stage("Deploying Application Infrastructure") {
              steps {
                script {
                  sh 'chmod +x ./test.sh'
                }
              }
            }
            stage("Deployment Validation Checks") {
              steps {
                script {
                  sh 'chmod +x ./check-aks-cert-readiness.sh'
                }
              }
            }
            stage("Deployment Summary") {
              steps {
                script {
                  sh 'echo "================== BEGIN VALIDATION ========="'
                  sh 'pwd'
                  sh 'ls -l'
                  sh 'echo "================== DONE VALIDATING =========="'
                }
              }
            }
          }
          post {
            always {
              cleanWs()
            }
            failure {
              script {
                echo "Pipeline failed. Cleaning up..."
              }
            }
          }
        } 

       

            v2v Victor Martinez
            traiano Traiano
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: