It is a parametrized job. I would like to get the Environment variables the
job will use. I need it in the screen that appears after clicking the "*build
now"* button, but before clicking the form submission button that will
start the construction process.



On Wed, Sep 20, 2017 at 12:41 PM, Robert Sandell <[email protected]>
wrote:

> At build time your ParameterValue gets the build as a parameter to
> buildEnvironment(Run build, EnvVars env), so you get it from
> build.getParent() but maybe the vars are already added to env so you might
> not need the code I showed above.
>
> If you need the job at job schedule time, e.g. when clicking build now it
> get's a bit trickier. You can use the StaplerRequest to find the job from
> the ancestor path.
>
> Job job = request.findAncestor(Job.class)
>
> But I don't think there is any good way to get it when constructing the
> value from CliCommand, maybe the following could work
>
> if (command instanceof BuildCommand) {
>     Job job = (BuildCommand)command.job;
> }
>
> /B
>
>
> 2017-09-20 16:38 GMT+02:00 Paulo Eduardo Neves <[email protected]>:
>
>> Thanks for your answer, Robert. Almost there!
>>
>>
>> How would you create the job instance variable with the current job? I
>> see that there is a model.Job class, but I'm too newbie and can't find
>> how to instantiate it.
>>
>>
>>
>> Em quarta-feira, 20 de setembro de 2017 06:51:26 UTC-3, Robert Sandell
>> escreveu:
>>>
>>> Something like this I'd guess
>>>
>>> SetEnvBuildWrapper wrapper = 
>>> job.getBuildWrappers().get(Jenkins.getInstance().getDescriptorByType(SetEnvBuildWrapper.DescriptorImpl.class))
>>> Map<String,String> vars = wrapper.getLocalVarMap()
>>>
>>> /B
>>>
>>> 2017-09-19 20:53 GMT+02:00 Paulo Eduardo Neves <[email protected]>:
>>>
>>>> Earlier today I post this message to Jenkin Users mailing list. I
>>>> mistakenly though that it were the place for plugin questions. Sorry for
>>>> the crosspost,
>>>>
>>>> I have a prebuild plugin that extends ParameterDefinition class. It
>>>> just give me some options to prepare the build.
>>>>
>>>> It is an old installation and uses the deprecated SetEnv plugin
>>>> <https://wiki.jenkins.io/display/JENKINS/Setenv+Plugin> to setup a
>>>> bunch of environment variables.
>>>>
>>>> Is it possible to access the environment variables defined in the *SetEnv
>>>> plugin* from my plugin? It just creates the build object when the
>>>> submit button is pressed, so I don't have access to it from my form.
>>>>
>>>> If I can access the configuration file, I can also parse these
>>>> variables. Maybe this is easier to do.
>>>>
>>>> I also would like to access the Jenkins global variable values. If I do
>>>> a System.getenv("JAVA_HOME") I get the value, but if I try with a variable
>>>> defined in the SetEnv plugin or in the global configuration, it comes null.
>>>>
>>>> If you can point me an example or reference, it would be great.
>>>>
>>>> Thanks in advance for any help.
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Jenkins Developers" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To view this discussion on the web visit https://groups.google.com/d/ms
>>>> gid/jenkinsci-dev/917dbdc6-d11d-4277-87d8-f85468213903%40goo
>>>> glegroups.com
>>>> <https://groups.google.com/d/msgid/jenkinsci-dev/917dbdc6-d11d-4277-87d8-f85468213903%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>>
>>> --
>>> Robert Sandell
>>> *Software Engineer*
>>> *CloudBees Inc.*
>>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Jenkins Developers" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To view this discussion on the web visit https://groups.google.com/d/ms
>> gid/jenkinsci-dev/53457ddc-e051-49a7-846f-7c26b85c8b3a%40googlegroups.com
>> <https://groups.google.com/d/msgid/jenkinsci-dev/53457ddc-e051-49a7-846f-7c26b85c8b3a%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> --
> Robert Sandell
> *Software Engineer*
> *CloudBees Inc.*
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "Jenkins Developers" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/
> topic/jenkinsci-dev/2hLy525cxsg/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/jenkinsci-dev/CALzHZS2w6UZ0bBOCaJnLs3rNvSCLb
> st35KxUUuM62Hom3Az3ug%40mail.gmail.com
> <https://groups.google.com/d/msgid/jenkinsci-dev/CALzHZS2w6UZ0bBOCaJnLs3rNvSCLbst35KxUUuM62Hom3Az3ug%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Paulo Eduardo Neves

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/CAJ%3D_X0qsz0KBPmSa%3DzdoKe6aEP_r_Jb3KJ5uwDXogavr-j6oyQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to