hudson.plugins.downstream_ext
Class DownstreamTrigger

java.lang.Object
  extended by hudson.tasks.BuildStepCompatibilityLayer
      extended by hudson.tasks.Publisher
          extended by hudson.tasks.Notifier
              extended by hudson.plugins.downstream_ext.DownstreamTrigger
All Implemented Interfaces:
hudson.ExtensionPoint, hudson.matrix.MatrixAggregatable, hudson.model.DependecyDeclarer, hudson.model.Describable<hudson.tasks.Publisher>, hudson.tasks.BuildStep

public class DownstreamTrigger
extends hudson.tasks.Notifier
implements hudson.model.DependecyDeclarer, hudson.matrix.MatrixAggregatable

Triggers builds of other projects. This class was inspired by BuildTrigger (rev. 21890) - but has changed significantly in the mean time.


Nested Class Summary
static class DownstreamTrigger.DescriptorImpl
           
static class DownstreamTrigger.Strategy
           
 
Nested classes/interfaces inherited from class hudson.tasks.Publisher
hudson.tasks.Publisher.DescriptorExtensionListImpl
 
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
hudson.ExtensionPoint.LegacyInstancesAreScopedToHudson
 
Nested classes/interfaces inherited from interface hudson.tasks.BuildStep
hudson.tasks.BuildStep.PublisherList
 
Field Summary
 
Fields inherited from interface hudson.tasks.BuildStep
BUILDERS, PUBLISHERS
 
Constructor Summary
DownstreamTrigger(java.lang.String childProjects, hudson.model.Result threshold, boolean onlyIfSCMChanges, DownstreamTrigger.Strategy strategy, MatrixTrigger matrixTrigger)
           
DownstreamTrigger(java.lang.String childProjects, java.lang.String threshold, boolean onlyIfSCMChanges, java.lang.String strategy, java.lang.String matrixTrigger)
           
 
Method Summary
 void buildDependencyGraph(hudson.model.AbstractProject owner, hudson.model.DependencyGraph graph)
          
 hudson.matrix.MatrixAggregator createAggregator(hudson.matrix.MatrixBuild build, hudson.Launcher launcher, hudson.model.BuildListener listener)
          This method is invoked only by matrix projects and is used to allow a matrix job to fire a downstream job only when it ends, instead of starting them for every matrix configuration.
static void executeForProject(hudson.model.AbstractProject<?,?> project, java.lang.Runnable run)
           
 java.util.List<hudson.model.AbstractProject> getChildProjects()
           
 java.lang.String getChildProjectsValue()
           
 MatrixTrigger getMatrixTrigger()
           
 hudson.tasks.BuildStepMonitor getRequiredMonitorService()
           
 DownstreamTrigger.Strategy getStrategy()
           
 hudson.model.Result getThreshold()
           
 boolean isOnlyIfSCMChanges()
           
 boolean needsToRunAfterFinalized()
           
 boolean onJobRenamed(java.lang.String oldName, java.lang.String newName)
          Called from DownstreamTrigger.DescriptorImpl.ItemListenerImpl when a job is renamed.
 boolean perform(hudson.model.AbstractBuild build, hudson.Launcher launcher, hudson.model.BuildListener listener)
           
 
Methods inherited from class hudson.tasks.Notifier
getDescriptor
 
Methods inherited from class hudson.tasks.Publisher
all, getProjectAction, prebuild
 
Methods inherited from class hudson.tasks.BuildStepCompatibilityLayer
getProjectAction, getProjectActions, perform, prebuild
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface hudson.tasks.BuildStep
getProjectAction, getProjectActions, prebuild
 

Constructor Detail

DownstreamTrigger

@DataBoundConstructor
public DownstreamTrigger(java.lang.String childProjects,
                                              java.lang.String threshold,
                                              boolean onlyIfSCMChanges,
                                              java.lang.String strategy,
                                              java.lang.String matrixTrigger)

DownstreamTrigger

public DownstreamTrigger(java.lang.String childProjects,
                         hudson.model.Result threshold,
                         boolean onlyIfSCMChanges,
                         DownstreamTrigger.Strategy strategy,
                         MatrixTrigger matrixTrigger)
Method Detail

getChildProjectsValue

public java.lang.String getChildProjectsValue()

getThreshold

public hudson.model.Result getThreshold()

isOnlyIfSCMChanges

public boolean isOnlyIfSCMChanges()

getMatrixTrigger

public MatrixTrigger getMatrixTrigger()

getChildProjects

public java.util.List<hudson.model.AbstractProject> getChildProjects()

getStrategy

public DownstreamTrigger.Strategy getStrategy()

getRequiredMonitorService

public hudson.tasks.BuildStepMonitor getRequiredMonitorService()
Specified by:
getRequiredMonitorService in interface hudson.tasks.BuildStep

perform

public boolean perform(hudson.model.AbstractBuild build,
                       hudson.Launcher launcher,
                       hudson.model.BuildListener listener)
Specified by:
perform in interface hudson.tasks.BuildStep
Overrides:
perform in class hudson.tasks.BuildStepCompatibilityLayer

buildDependencyGraph

public void buildDependencyGraph(hudson.model.AbstractProject owner,
                                 hudson.model.DependencyGraph graph)

Specified by:
buildDependencyGraph in interface hudson.model.DependecyDeclarer

needsToRunAfterFinalized

public boolean needsToRunAfterFinalized()
Overrides:
needsToRunAfterFinalized in class hudson.tasks.Publisher

onJobRenamed

public boolean onJobRenamed(java.lang.String oldName,
                            java.lang.String newName)
Called from DownstreamTrigger.DescriptorImpl.ItemListenerImpl when a job is renamed.

Returns:
true if this DownstreamTrigger is changed and needs to be saved.

executeForProject

public static void executeForProject(hudson.model.AbstractProject<?,?> project,
                                     java.lang.Runnable run)

createAggregator

public hudson.matrix.MatrixAggregator createAggregator(hudson.matrix.MatrixBuild build,
                                                       hudson.Launcher launcher,
                                                       hudson.model.BuildListener listener)
This method is invoked only by matrix projects and is used to allow a matrix job to fire a downstream job only when it ends, instead of starting them for every matrix configuration.

Specified by:
createAggregator in interface hudson.matrix.MatrixAggregatable


Copyright © 2010. All Rights Reserved.