Class BuildPipelineTrigger

java.lang.Object
hudson.tasks.BuildStepCompatibilityLayer
hudson.tasks.Publisher
hudson.tasks.Notifier
au.com.centrumsystems.hudson.plugin.buildpipeline.trigger.BuildPipelineTrigger
All Implemented Interfaces:
ExtensionPoint, DependecyDeclarer, Describable<Publisher>, BuildStep, DependencyDeclarer

public class BuildPipelineTrigger extends Notifier implements DependecyDeclarer
The build pipeline trigger allows the creation of downstream jobs which aren't triggered automatically. This allows us to have manual "approval" steps in the process where jobs are manually promoted along the pipeline by a user pressing a button on the view.
Author:
Centrum Systems
  • Constructor Details

    • BuildPipelineTrigger

      @DataBoundConstructor public BuildPipelineTrigger(String downstreamProjectNames, List<hudson.plugins.parameterizedtrigger.AbstractBuildParameters> configs)
      Construct the trigger setting the project name and manual build promotion option
      Parameters:
      downstreamProjectNames - - the job name of the downstream build
      configs - - the build parameters
  • Method Details

    • getDownstreamProjectNames

      public String getDownstreamProjectNames()
    • setDownstreamProjectNames

      public void setDownstreamProjectNames(String downstreamProjectNames)
    • getConfigs

      public List<hudson.plugins.parameterizedtrigger.AbstractBuildParameters> getConfigs()
    • buildDependencyGraph

      public void buildDependencyGraph(AbstractProject owner, DependencyGraph graph)
      this method is required to rebuild the dependency graph of the downstream project
      Specified by:
      buildDependencyGraph in interface DependencyDeclarer
      Parameters:
      owner - owner
      graph - graph
    • needsToRunAfterFinalized

      public boolean needsToRunAfterFinalized()
      Overrides:
      needsToRunAfterFinalized in class Publisher
    • getRequiredMonitorService

      public BuildStepMonitor getRequiredMonitorService()
      Specified by:
      getRequiredMonitorService in interface BuildStep
    • perform

      public boolean perform(AbstractBuild<?,?> build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException
      Specified by:
      perform in interface BuildStep
      Overrides:
      perform in class BuildStepCompatibilityLayer
      Throws:
      InterruptedException
      IOException
    • onDownstreamProjectRenamed

      public boolean onDownstreamProjectRenamed(String oldName, String newName)
      Renames a project contained in downstreamProjectNames
      Parameters:
      oldName - - The old name of the project
      newName - - The new name of the project
      Returns:
      - true: A downstream project has been renamed; false No downstream projects were renamed
    • onDownstreamProjectDeleted

      public boolean onDownstreamProjectDeleted(String oldName)
      Deletes a project from downstreamProjectNames.
      Parameters:
      oldName - - Project to be deleted
      Returns:
      - true; project deleted: false; project not deleted onDownstreamProjectRenamed(String, String)
    • removeDownstreamTrigger

      public void removeDownstreamTrigger(BuildPipelineTrigger bpTrigger, AbstractProject<?,?> ownerProject, String downstreamProjectName)
      Removes a downstream trigger (BuildPipelineTrigger) from a project. This removes both: - The downstream project name from the downstreamProjectNames attribute - The BuildPipelineTrigger from the AbstractProject publishers list
      Parameters:
      bpTrigger - - The BuildPipelineTrigger to be removed
      ownerProject - - The AbstractProject from which to removed the BuildPipelineTrigger
      downstreamProjectName - - The name of the AbstractProject associated with the BuildPipelineTrigger