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

Error "hudson.model.PasswordParameterValue.value expects class hudson.util.Secret" since 2.236

    • pipeline-build-step 2.13

      Hello,

      since Jenkins 2.236 I get the following error when trying to start a job from a job:

      org.jenkinsci.plugins.workflow.support.steps.build.BuildTriggerStep: java.lang.IllegalArgumentException: Could not instantiate {name=SERVER_SSH_PASSWORD, value=XXXXX} for hudson.model.PasswordParameterValue: java.lang.ClassCastException: hudson.model.PasswordParameterValue.value expects class hudson.util.Secret but received class java.lang.String
      

      The pipeline look like the following (shortened):

      pipeline {
          agent {
              label 'linux'
          }
          // options, environment
      
          stages {
              stage('Deploy Production') {
                  when {
                      anyOf {
                          buildingTag()
                      }
                  }
      
                  steps {
                      script {
                          if (env.TAG_NAME) {
                              dockerTag = "${env.TAG_NAME}"
                          } else {
                              dockerTag = "dev-${env.BRANCH_NAME}"
                          }
      
                          withCredentials([
                              usernamePassword(credentialsId: 'centos-root', usernameVariable: 'SERVER_SSH_USER', passwordVariable: 'SERVER_SSH_PASSWORD'),
                              usernamePassword(credentialsId: 'database-maintenance', usernameVariable: 'LIQUIBASE_USERNAME', passwordVariable: 'LIQUIBASE_PASSWORD')
                          ]) {
                              build job: 'otherproject/otherjob/master', parameters: [
                                  string(name: 'PROJECT_VERSION', value: "${dockerTag}"),
                                  string(name: 'PROJECT_ENVIRONMENT', value: 'production'),
                                  string(name: 'LISTEN_IP_NGINX', value: "172.21.240.14"),
                                  string(name: 'COMPOSE_ARGS', value: '-f docker-compose.yml'),
                                  string(name: 'SERVER_HOST', value: "${env.SERVER_HOST}"),
                                  string(name: 'SERVER_IP', value: "${env.SERVER_IP}"),
                                  string(name: 'DEPLOY_USER', value: "${env.DEPLOY_USER}"),
                                  string(name: 'DOCKER_IMAGE', value: "${env.DOCKER_IMAGE}"),
                                  string(name: 'SERVER_SSH_USER', value: "${SERVER_SSH_USER}"),
                                  string(name: 'WEB_CONTAINER_NAME', value: 'api'),
                                  string(name: 'PHP_CONTAINER_NAME', value: 'api-php'),
                                  password(name: 'SERVER_SSH_PASSWORD', value: "${SERVER_SSH_PASSWORD}"),
                                  text(name: 'EXTRA_ENVIRONMENT_VARIABLES', value: environmentVariablesProduction()),
                                  text(name: 'COMPOSE_FILE', value: readFile("docker-compose.server.yml")),
                                  booleanParam(name: 'LIQUIBASE_UPDATE', value: true),
                                  string(name: 'LIQUIBASE_USERNAME', value: "${LIQUIBASE_USERNAME}"),
                                  password(name: 'LIQUIBASE_PASSWORD', value: "${LIQUIBASE_PASSWORD}"),
                                  string(name: 'LIQUIBASE_CHANGELOG_PATH', value: '/var/www/html/data/database/basedata'),
                                  string(name: 'LIQUIBASE_URL', value: 'someJDBCUri),
                                  booleanParam(name: 'CLEANUP_MEMCACHED', value: true)
                              ]
                          }
                      }
                  }
              }
          }
      
          // post
      }
      

      Downgrading to 2.235 helped.

          [JENKINS-62305] Error "hudson.model.PasswordParameterValue.value expects class hudson.util.Secret" since 2.236

          Fabian Grutschus created issue -
          Daniel Beck made changes -
          Labels New: regression
          Daniel Beck made changes -
          Priority Original: Minor [ 4 ] New: Critical [ 2 ]
          Jesse Glick made changes -
          Link New: This issue is caused by JENKINS-61808 [ JENKINS-61808 ]
          Jesse Glick made changes -
          Labels Original: regression New: pipeline regression
          Fabian Grutschus made changes -
          Description Original: Hello since Jenkins 2.236,

          I get the following error when trying to start a job from a job:

          {code}
          org.jenkinsci.plugins.workflow.support.steps.build.BuildTriggerStep: java.lang.IllegalArgumentException: Could not instantiate {name=SERVER_SSH_PASSWORD, value=XXXXX} for hudson.model.PasswordParameterValue: java.lang.ClassCastException: hudson.model.PasswordParameterValue.value expects class hudson.util.Secret but received class java.lang.String
          {code}

          The pipeline look like the following (shortened):

          {code:java}
          pipeline {
              agent {
                  label 'linux'
              }
              // options, environment

              stages {
                  stage('Deploy Production') {
                      when {
                          anyOf {
                              buildingTag()
                          }
                      }

                      steps {
                          script {
                              if (env.TAG_NAME) {
                                  dockerTag = "${env.TAG_NAME}"
                              } else {
                                  dockerTag = "dev-${env.BRANCH_NAME}"
                              }

                              withCredentials([
                                  usernamePassword(credentialsId: 'centos-root', usernameVariable: 'SERVER_SSH_USER', passwordVariable: 'SERVER_SSH_PASSWORD'),
                                  usernamePassword(credentialsId: 'database-maintenance', usernameVariable: 'LIQUIBASE_USERNAME', passwordVariable: 'LIQUIBASE_PASSWORD')
                              ]) {
                                  build job: 'otherproject/otherjob/master', parameters: [
                                      string(name: 'PROJECT_VERSION', value: "${dockerTag}"),
                                      string(name: 'PROJECT_ENVIRONMENT', value: 'production'),
                                      string(name: 'LISTEN_IP_NGINX', value: "172.21.240.14"),
                                      string(name: 'COMPOSE_ARGS', value: '-f docker-compose.yml'),
                                      string(name: 'SERVER_HOST', value: "${env.SERVER_HOST}"),
                                      string(name: 'SERVER_IP', value: "${env.SERVER_IP}"),
                                      string(name: 'DEPLOY_USER', value: "${env.DEPLOY_USER}"),
                                      string(name: 'DOCKER_IMAGE', value: "${env.DOCKER_IMAGE}"),
                                      string(name: 'SERVER_SSH_USER', value: "${SERVER_SSH_USER}"),
                                      string(name: 'WEB_CONTAINER_NAME', value: 'api'),
                                      string(name: 'PHP_CONTAINER_NAME', value: 'api-php'),
                                      password(name: 'SERVER_SSH_PASSWORD', value: "${SERVER_SSH_PASSWORD}"),
                                      text(name: 'EXTRA_ENVIRONMENT_VARIABLES', value: environmentVariablesProduction()),
                                      text(name: 'COMPOSE_FILE', value: readFile("docker-compose.server.yml")),
                                      booleanParam(name: 'LIQUIBASE_UPDATE', value: true),
                                      string(name: 'LIQUIBASE_USERNAME', value: "${LIQUIBASE_USERNAME}"),
                                      password(name: 'LIQUIBASE_PASSWORD', value: "${LIQUIBASE_PASSWORD}"),
                                      string(name: 'LIQUIBASE_CHANGELOG_PATH', value: '/var/www/html/data/database/basedata'),
                                      string(name: 'LIQUIBASE_URL', value: 'someJDBCUri),
                                      booleanParam(name: 'CLEANUP_MEMCACHED', value: true)
                                  ]
                              }
                          }
                      }
                  }
              }

              // post
          }
          {code}

          Downgrading to 2.235 helped.
          New: Hello,

          since Jenkins 2.236 I get the following error when trying to start a job from a job:

          {code}
          org.jenkinsci.plugins.workflow.support.steps.build.BuildTriggerStep: java.lang.IllegalArgumentException: Could not instantiate {name=SERVER_SSH_PASSWORD, value=XXXXX} for hudson.model.PasswordParameterValue: java.lang.ClassCastException: hudson.model.PasswordParameterValue.value expects class hudson.util.Secret but received class java.lang.String
          {code}

          The pipeline look like the following (shortened):

          {code:java}
          pipeline {
              agent {
                  label 'linux'
              }
              // options, environment

              stages {
                  stage('Deploy Production') {
                      when {
                          anyOf {
                              buildingTag()
                          }
                      }

                      steps {
                          script {
                              if (env.TAG_NAME) {
                                  dockerTag = "${env.TAG_NAME}"
                              } else {
                                  dockerTag = "dev-${env.BRANCH_NAME}"
                              }

                              withCredentials([
                                  usernamePassword(credentialsId: 'centos-root', usernameVariable: 'SERVER_SSH_USER', passwordVariable: 'SERVER_SSH_PASSWORD'),
                                  usernamePassword(credentialsId: 'database-maintenance', usernameVariable: 'LIQUIBASE_USERNAME', passwordVariable: 'LIQUIBASE_PASSWORD')
                              ]) {
                                  build job: 'otherproject/otherjob/master', parameters: [
                                      string(name: 'PROJECT_VERSION', value: "${dockerTag}"),
                                      string(name: 'PROJECT_ENVIRONMENT', value: 'production'),
                                      string(name: 'LISTEN_IP_NGINX', value: "172.21.240.14"),
                                      string(name: 'COMPOSE_ARGS', value: '-f docker-compose.yml'),
                                      string(name: 'SERVER_HOST', value: "${env.SERVER_HOST}"),
                                      string(name: 'SERVER_IP', value: "${env.SERVER_IP}"),
                                      string(name: 'DEPLOY_USER', value: "${env.DEPLOY_USER}"),
                                      string(name: 'DOCKER_IMAGE', value: "${env.DOCKER_IMAGE}"),
                                      string(name: 'SERVER_SSH_USER', value: "${SERVER_SSH_USER}"),
                                      string(name: 'WEB_CONTAINER_NAME', value: 'api'),
                                      string(name: 'PHP_CONTAINER_NAME', value: 'api-php'),
                                      password(name: 'SERVER_SSH_PASSWORD', value: "${SERVER_SSH_PASSWORD}"),
                                      text(name: 'EXTRA_ENVIRONMENT_VARIABLES', value: environmentVariablesProduction()),
                                      text(name: 'COMPOSE_FILE', value: readFile("docker-compose.server.yml")),
                                      booleanParam(name: 'LIQUIBASE_UPDATE', value: true),
                                      string(name: 'LIQUIBASE_USERNAME', value: "${LIQUIBASE_USERNAME}"),
                                      password(name: 'LIQUIBASE_PASSWORD', value: "${LIQUIBASE_PASSWORD}"),
                                      string(name: 'LIQUIBASE_CHANGELOG_PATH', value: '/var/www/html/data/database/basedata'),
                                      string(name: 'LIQUIBASE_URL', value: 'someJDBCUri),
                                      booleanParam(name: 'CLEANUP_MEMCACHED', value: true)
                                  ]
                              }
                          }
                      }
                  }
              }

              // post
          }
          {code}

          Downgrading to 2.235 helped.
          Devin Nusbaum made changes -
          Assignee New: Devin Nusbaum [ dnusbaum ]
          Devin Nusbaum made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]
          Devin Nusbaum made changes -
          Status Original: In Progress [ 3 ] New: In Review [ 10005 ]
          Devin Nusbaum made changes -
          Remote Link New: This issue links to "jenkinsci/pipeline-build-step-plugin#46 (Web Link)" [ 25348 ]
          Devin Nusbaum made changes -
          Released As New: pipeline-build-step 2.13
          Resolution New: Fixed [ 1 ]
          Status Original: In Review [ 10005 ] New: Resolved [ 5 ]

            dnusbaum Devin Nusbaum
            fabiang Fabian Grutschus
            Votes:
            6 Vote for this issue
            Watchers:
            11 Start watching this issue

              Created:
              Updated:
              Resolved: