hudson.model
Class EnvironmentContributor

java.lang.Object
  extended by hudson.model.EnvironmentContributor
All Implemented Interfaces:
ExtensionPoint
Direct Known Subclasses:
CoreEnvironmentContributor

public abstract class EnvironmentContributor
extends Object
implements ExtensionPoint

Contributes environment variables to builds.

This extension point can be used to externally add environment variables. Aside from adding environment variables of the fixed name, a typical strategy is to look for specific JobPropertys and other similar configurations of Jobs to compute values.

Views

buildEnv.groovy/.jelly

When Jenkins displays the help page listing all the environment variables available for a build, it does so by combining all the buildEnv views from this extension point. This view should use the <t:buildEnvVar> tag to render a variable.

In this view, it points to EnvironmentContributor and job points to Job for which the help is being rendered.

Jenkins provides other extension points (such as SCM) to contribute environment variables to builds, and for those plugins, Jenkins also looks for /buildEnv.groovy and aggregates them.

Since:
1.392
Author:
Kohsuke Kawaguchi
See Also:
BuildVariableContributor

Nested Class Summary
static class EnvironmentContributor.EnvVarsHtml
          Serves the combined list of environment variables available from this plugin.
 
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson
 
Constructor Summary
EnvironmentContributor()
           
 
Method Summary
static ExtensionList<EnvironmentContributor> all()
          Returns all the registered EnvironmentContributors.
abstract  void buildEnvironmentFor(Run r, EnvVars envs, TaskListener listener)
          Contributes environment variables used for a build.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EnvironmentContributor

public EnvironmentContributor()
Method Detail

buildEnvironmentFor

public abstract void buildEnvironmentFor(Run r,
                                         EnvVars envs,
                                         TaskListener listener)
                                  throws IOException,
                                         InterruptedException
Contributes environment variables used for a build.

This method can be called repeatedly for the same Run, thus the computation of this method needs to be efficient. If you have a time-consuming computation, one strategy is to take the hit once and then add the result as InvisibleAction to Run, then reuse those values later on.

This method gets invoked concurrently for multiple Runs that are being built at the same time, so it must be concurrent-safe.

Parameters:
r - Build that's being performed. Never null.
envs - Partially built environment variable map. Implementation of this method is expected to add additional variables here. Never null.
listener - Connected to the build console. Can be used to report errors. Never null.
Throws:
IOException
InterruptedException

all

public static ExtensionList<EnvironmentContributor> all()
Returns all the registered EnvironmentContributors.



Copyright © 2004-2013. All Rights Reserved.