es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Jenkinsfile ejecutando condicionalmente una etapa cuando la variable de entorno tiene un valor determinado.

Estoy tratando de usar una variable de entorno en una condición when. Solo quiero ejecutar una etapa si la variable de entorno del nombre del trabajo tiene un valor específico. Mi cláusula when a continuación está fallando.

pipeline{
   environment {
     JOB_BASE_NAME = "${env.JOB_BASE_NAME}"
   }
}

stage('Ejecutar etapa condicional basada en el nombre del trabajo'){
     when {
        expression{
            ${JOB_BASE_NAME} === "Mi nombre de trabajo" 
        }
     }
    steps{
         // algunos pasos del trabajo
     }
  }
}

En la línea expression – estoy recibiendo un error de Operación no compatible en este contexto con el carácter signo de dólar.

¿Cómo puedo solucionar esta condición when?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para solucionar la condición when, debes cambiar la sintaxis de la expresión para usar comillas dobles en lugar de acento grave. Aquí está el código actualizado:

    pipeline{
       environment {
         JOB_BASE_NAME = "${env.JOB_BASE_NAME}"
       }
    
      stage('Ejecutar etapa condicional basada en el nombre del trabajo'){
         when {
            expression{    
                JOB_BASE_NAME == "Mi Nombre de Trabajo" 
            }
         }
        steps{
             // algunos pasos del trabajo
         }
      }
    }
    

    El carácter del signo de dólar no es necesario en la expresión. Simplemente puedes referenciar la variable JOB_BASE_NAME por su nombre. Además, asegúrate de usar comillas dobles alrededor de la cadena “Mi Nombre de Trabajo” en la expresión.

Comments are closed.