2017-09-19 1 views
0

Je voudrais utiliser configFileProvider en conjonction avec envInject pour charger un fichier géré dans les variables env.Comment puis-je utiliser EnvInject avec ConfigFileProvider dans un pipeline Jenkins?

gérés Contenu du fichier:

someEmail:"[email protected]" 

configFileProvidor crée une carte (accessoires ci-dessous):

node { 
    configFileProvider(
     [configFile(fileId: 'my-managed-file', variable: 'job_settings')]) { 
     props = readProperties file: job_settings 
     echo "${props}" 
    } 
} 

Sortie:

[someEmail:"[email protected]"] 

Comment puis-je obtenir cette carte dans le env vars en utilisant EnvInject?

J'ai essayé les éléments suivants:

load props 

qui se traduit par un org.kohsuke.stapler.NoStaplerConstructorException: There's no @DataBoundConstructor on any constructor of class java.lang.String

J'ai aussi essayé de charger l'objet job_settings directement, ce qui ne donne pas lieu à une erreur, mais la variable ne soit pas inclus dans env.

node { 
    configFileProvider(
     [configFile(fileId: 'my-managed-file', variable: 'job_settings')]) { 
     load job_settings 
    } 
} 

Répondre

0

J'ai une approche de travail en utilisant TargetLocation:

node { 
    configFileProvider(
     [configFile(fileId: 'my-managed-file', targetLocation: '/path/to/job_settings_dir')]) { 
     load '/path/to/job_settings_dir/my-managed-file' 
    } 
}