Cómo utilizar una variable de entorno en una declaración de script con una cadena de texto en tres comillas en Jenkins?
Estoy tratando de llamar a una variable en mi Jenkinsfile desde una declaración de script con una cadena de triple comilla doble como se muestra a continuación:
sh(script: """
python -m flake8 ${APP}
""")
Esto no parece estar funcionando ya que obtengo un error como:
No such property: imageNameParameter for class: genericJenkinsfile
La variable se declara de la siguiente manera al comienzo del archivo:
def APP = body.appName
También intenté varios cambios como usar env.APP o usar comillas simples alrededor de ${APP}, pero tampoco funcionó.
¿Alguna idea?
davy.ai
Parece que la variable
APP
no es accesible dentro de la declaración de script. Una solución a esto es pasar la variable como una variable de entorno usando la directivaenvironment
. Aquí tienes un ejemplo de cómo puedes modificar tu código para que funcione:En este código, definimos una variable de entorno
APP
utilizando el valor${body.appName}
pasado como parámetro. Luego, dentro del bloquesteps
, podemos acceder a esta variable utilizandoenv.APP
. Ten en cuenta que utilizamos comillas dobles alrededor de la declaración del script para poder interpolar la variable.¡Espero que esto te ayude!