I've managed to implement something that is effectively the same.  I 
realized that I can define a class in "src" that is just a static data 
container and can be accessed from any of the "vars" scripts.

On Thursday, September 16, 2021 at 1:21:10 PM UTC-7 David Karr wrote:

>
> I work on a somewhat complicated build process using Jenkins scripted 
> pipeline, where the Jenkinsfile is very small, but it imports a large 
> shared library, sets some application-specific properties, and then calls a 
> top-level function in the "vars" section of the shared library.
>
> The top-level function is pretty complicated, and it calls a bunch of 
> other "var" functions.  Data is passed to those functions through "env." 
> vars, and function parameters.
>
> I am working on some changes to one of the lower-level functions, where it 
> will reference a couple of "statically-defined" map objects that specify 
> some metadata about build steps.
>
> Initially, I simply defined those maps inside the "call()" function in the 
> "vars" file.  That does work.  However, I see that there is more than one 
> "vars" file that needs to reference those maps.
>
> It would make sense if I could move these map definitions to the top-level 
> "vars" file, I assume right inside the "call()" function (or somewhere 
> else, if that makes sense) and then reference them inside the "vars" 
> functions that need that data.
>
> If these were scalar values, I would just set "env.<variablename> = 
> <value>" in the top-level "vars" file, inside the "call()" function, and 
> then reference that environment variable in the lower-level "vars" file.  
> Can I set a Map object into environment variables?  I wouldn't think it 
> would allow that.
>
> I technically could simply reference the variable name in the top-level 
> "vars" function, and pass it down through the layers, but that gets messy.  
> I'd prefer to reference these maps like "static" variables (conceptually if 
> not in actuality) in the lower-level "vars" file.
>
> I have browsed the documentation, but I haven't seen an obvious way to do 
> this.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/222db998-b989-4528-afc8-c2c8e16152c7n%40googlegroups.com.

Reply via email to