Hi Thomas,

I just copy pasted your code into a plugin project and on my side this
seems to work fine.

How are you running/debugging your plugin?

Vincent


2012/8/21 ThomasBrouwer <[email protected]>

> Hi there!
>
> I just cannot seem to be able to add environmental variables in my plugin.
> I made a separate class extending EnvironmentContributor:
>
> package hudson.plugins.throttleconcurrents;
>
> import hudson.EnvVars;
> import hudson.Extension;
> import hudson.model.EnvironmentContributor;
> import hudson.model.TaskListener;
> import hudson.model.Run;
>
> import java.io.IOException;
>
> @Extension
> public class ThrottleAddEnvVar extends EnvironmentContributor {
> // This class is for adding the environmental variable containing the
> assigned labels
>  @Override
> public void buildEnvironmentFor(Run r, EnvVars envs, TaskListener
> listener) throws IOException, InterruptedException {
>  ThrottleQueueTaskDispatcher.writeMessage("Running
> buildEnvironmentFor()!");
>  //Put together category-labels string
>  String labelEnvVar = "category1|label1<>category2|label2"; // String
> storing the LABELS environmental variable. Form is:
> category1|label1<>category2|label2<>...
>                  envs.put("LABELS", labelEnvVar);
>         }
> }
>
> but this does not do anything at all. In fact,
> the ThrottleQueueTaskDispatcher.writeMessage() call is never made so
> buildEnvironmentFor() is simply never executed. When is this function
> supposed to be called?
> I've been noticing more often that having a class have @Extension does not
> mean it is picked up. What else, besides what is above, would be necessary?
> This generalizes to other extension points such as Builders and such.
>
> Help will be greatly appreciated!
> Thomas
>

Reply via email to