Package hudson.model

Class BuildVariableContributor

  • All Implemented Interfaces:
    ExtensionPoint

    public abstract class BuildVariableContributor
    extends Object
    implements ExtensionPoint
    Contributes build variables to builds.

    This extension point can be used to externally add build variables, which are then used for various parameter expansions by Builders and Publishers. Aside from adding variables of the fixed name, a typical strategy is to look for specific JobPropertys and other similar configurations of Jobs to compute values.

    Since:
    1.403
    Author:
    Kohsuke Kawaguchi
    See Also:
    EnvironmentContributor
    • Constructor Detail

      • BuildVariableContributor

        public BuildVariableContributor()
    • Method Detail

      • buildVariablesFor

        public abstract void buildVariablesFor​(AbstractBuild build,
                                               Map<String,​String> variables)
        Contributes build variables used for a build.

        This method can be called repeatedly for the same AbstractBuild, 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 AbstractBuild, 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:
        build - Build that's being performed. Never null.
        variables - Partially built variable map. Implementation of this method is expected to add additional variables here. Never null.