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.

parámetro de función groovy en script batch

Necesito usar un parámetro de función groovy en un script de lote en un Jenkinsfile. He probado varias posibilidades, incluyendo todo lo enumerado aquí: https://gist.github.com/Faheetah/e11bd0315c34ed32e681616e41279ef4, pero no puedo encontrar una solución para acceder al contenido de la variable “example” en mi script de lote.

def function(example) {
...
bat label: '', script: '''@echo off
...
...
mkdir "some path\value of example\some additional path"
'''
...
}

¿Hay alguna forma de hacer esto?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Sí, puedes pasar el parámetro de la función groovy al script batch utilizando variables de entorno en el Jenkinsfile. Aquí hay un ejemplo:

    def function(example) {
      ...
      // establecer variable de entorno con el valor de 'example'
      env.EXAMPLE = example
    
      // ejecutar script batch usando la variable de entorno 'EXAMPLE'
      bat """
        @echo off
        ...
        mkdir "alguna ruta\\%EXAMPLE%\\alguna ruta adicional"
        ...
      """
      ...
    }
    

    En el ejemplo anterior, establecemos la variable de entorno EXAMPLE con el valor del parámetro example en la función groovy. Luego, usamos la sintaxis %EXAMPLE% para acceder al valor de la variable de entorno EXAMPLE en el script batch.

    Ten en cuenta que debes usar comillas dobles "" en lugar de comillas simples '' en el comando bat para permitir la sustitución de variables.

Comments are closed.