org.jvnet.jenkins.plugins.nodelabelparameter
Class NodeParameterDefinition

java.lang.Object
  extended by hudson.model.ParameterDefinition
      extended by hudson.model.SimpleParameterDefinition
          extended by org.jvnet.jenkins.plugins.nodelabelparameter.NodeParameterDefinition
All Implemented Interfaces:
hudson.ExtensionPoint, hudson.model.Describable<hudson.model.ParameterDefinition>, Serializable, MultipleNodeDescribingParameterDefinition

public class NodeParameterDefinition
extends hudson.model.SimpleParameterDefinition
implements MultipleNodeDescribingParameterDefinition

Defines a build parameter used to select the node where a job should be executed on. Although it is possible to define the node name in the UI at "restrict where this job should run", but that would tide a job to a fix node. This parameter actually allows to define a list of possible nodes and ask the user before execution.

Author:
Dominik Bartholdi (imod)
See Also:
Serialized Form

Nested Class Summary
static class NodeParameterDefinition.DescriptorImpl
           
 
Nested classes/interfaces inherited from class hudson.model.ParameterDefinition
hudson.model.ParameterDefinition.ParameterDescriptor
 
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
hudson.ExtensionPoint.LegacyInstancesAreScopedToHudson
 
Field Summary
 List<String> allowedSlaves
           
 String defaultValue
          Deprecated. 
 
Fields inherited from class hudson.model.ParameterDefinition
LIST
 
Constructor Summary
NodeParameterDefinition(String name, String description, List<String> defaultSlaves, List<String> allowedSlaves, String triggerIfResult, boolean ignoreOfflineNodes)
          Deprecated. 
NodeParameterDefinition(String name, String description, List<String> defaultSlaves, List<String> allowedSlaves, String triggerIfResult, NodeEligibility nodeEligibility)
           
NodeParameterDefinition(String name, String description, String defaultValue, List<String> allowedSlaves, String triggerIfResult)
          Deprecated. 
 
Method Summary
 hudson.model.ParameterDefinition copyWithDefaultValue(hudson.model.ParameterValue defaultValueObj)
           
 TriggerNextBuildWrapper createBuildWrapper()
          Returns the wrapper to trigger the next build
 hudson.model.ParameterValue createValue(org.kohsuke.stapler.StaplerRequest req, net.sf.json.JSONObject jo)
           
 hudson.model.ParameterValue createValue(String value)
           
 List<String> getAllowedNodesOrAll()
          Returns a list of nodes the job could run on.
 boolean getAllowMultiNodeSelection()
           
 NodeParameterValue getDefaultParameterValue()
          e.g.
 List<String> getDefaultSlaves()
           
 NodeEligibility getNodeEligibility()
          gets the strategy which decides whether a node should be ignored or not
static List<String> getSlaveNames()
          Gets the names of all configured slaves, regardless whether they are online.
static List<String> getSlaveNamesForSelection()
          returns all available nodes plus an identifier to identify all slaves at position one.
 String getTriggerIfResult()
          Get the requested build result definition
 boolean isTriggerConcurrentBuilds()
           
 Object readResolve()
           
 void validateBuild(hudson.model.AbstractBuild<?,?> build, hudson.Launcher launcher, hudson.model.BuildListener listener)
          Callback to allow the parameter definition to do a final validation if everything is OK to proceed.
 
Methods inherited from class hudson.model.SimpleParameterDefinition
createValue, createValue
 
Methods inherited from class hudson.model.ParameterDefinition
all, getDescription, getDescriptor, getFormattedDescription, getName, getType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jvnet.jenkins.plugins.nodelabelparameter.MultipleNodeDescribingParameterDefinition
getName
 

Field Detail

allowedSlaves

public final List<String> allowedSlaves

defaultValue

@Deprecated
public transient String defaultValue
Deprecated. 
Constructor Detail

NodeParameterDefinition

@DataBoundConstructor
public NodeParameterDefinition(String name,
                                                    String description,
                                                    List<String> defaultSlaves,
                                                    List<String> allowedSlaves,
                                                    String triggerIfResult,
                                                    NodeEligibility nodeEligibility)

NodeParameterDefinition

@Deprecated
public NodeParameterDefinition(String name,
                                          String description,
                                          List<String> defaultSlaves,
                                          List<String> allowedSlaves,
                                          String triggerIfResult,
                                          boolean ignoreOfflineNodes)
Deprecated. 


NodeParameterDefinition

@Deprecated
public NodeParameterDefinition(String name,
                                          String description,
                                          String defaultValue,
                                          List<String> allowedSlaves,
                                          String triggerIfResult)
Deprecated. 

Method Detail

getDefaultSlaves

public List<String> getDefaultSlaves()

getDefaultParameterValue

public NodeParameterValue getDefaultParameterValue()
e.g. what to show if a build is triggered by hand?

Overrides:
getDefaultParameterValue in class hudson.model.ParameterDefinition

createValue

public hudson.model.ParameterValue createValue(String value)
Specified by:
createValue in class hudson.model.SimpleParameterDefinition

copyWithDefaultValue

public hudson.model.ParameterDefinition copyWithDefaultValue(hudson.model.ParameterValue defaultValueObj)
Overrides:
copyWithDefaultValue in class hudson.model.ParameterDefinition

getAllowedNodesOrAll

public List<String> getAllowedNodesOrAll()
Returns a list of nodes the job could run on. If allowed nodes is empty, it falls back to all nodes

Returns:
list of nodenames.

getTriggerIfResult

public String getTriggerIfResult()
Description copied from interface: MultipleNodeDescribingParameterDefinition
Get the requested build result definition

Specified by:
getTriggerIfResult in interface MultipleNodeDescribingParameterDefinition
Returns:
the triggerIfResult

getNodeEligibility

public NodeEligibility getNodeEligibility()
Description copied from interface: MultipleNodeDescribingParameterDefinition
gets the strategy which decides whether a node should be ignored or not

Specified by:
getNodeEligibility in interface MultipleNodeDescribingParameterDefinition
Returns:
the eligibility definition

getSlaveNamesForSelection

public static List<String> getSlaveNamesForSelection()
returns all available nodes plus an identifier to identify all slaves at position one.

Returns:
list of node names

getSlaveNames

public static List<String> getSlaveNames()
Gets the names of all configured slaves, regardless whether they are online.

Returns:
list with all slave names

validateBuild

public void validateBuild(hudson.model.AbstractBuild<?,?> build,
                          hudson.Launcher launcher,
                          hudson.model.BuildListener listener)
Description copied from interface: MultipleNodeDescribingParameterDefinition
Callback to allow the parameter definition to do a final validation if everything is OK to proceed. Implementations are asked to throw a runtime exception if something is not OK and the build should be stopped.

Specified by:
validateBuild in interface MultipleNodeDescribingParameterDefinition
Parameters:
build - build to be validated
launcher - build launcher
listener - provides access to the log stream

createValue

public hudson.model.ParameterValue createValue(org.kohsuke.stapler.StaplerRequest req,
                                               net.sf.json.JSONObject jo)
Specified by:
createValue in class hudson.model.ParameterDefinition

getAllowMultiNodeSelection

public boolean getAllowMultiNodeSelection()
Returns:
the allowMultiNodeSelection

isTriggerConcurrentBuilds

public boolean isTriggerConcurrentBuilds()
Returns:
the triggerConcurrentBuilds

readResolve

public Object readResolve()

createBuildWrapper

public TriggerNextBuildWrapper createBuildWrapper()
Description copied from interface: MultipleNodeDescribingParameterDefinition
Returns the wrapper to trigger the next build

Specified by:
createBuildWrapper in interface MultipleNodeDescribingParameterDefinition
Returns:
null if there is no new build to be triggered.


Copyright © 2004-2014. All Rights Reserved.