Class ProjectGridBuilder

java.lang.Object
hudson.model.AbstractDescribableImpl<ProjectGridBuilder>
au.com.centrumsystems.hudson.plugin.buildpipeline.ProjectGridBuilder
All Implemented Interfaces:
Describable<ProjectGridBuilder>
Direct Known Subclasses:
DownstreamProjectGridBuilder

public abstract class ProjectGridBuilder extends AbstractDescribableImpl<ProjectGridBuilder>
Encapsulates the definition of how to layout projects into a ProjectGrid.
Author:
Kohsuke Kawaguchi
  • Constructor Details

    • ProjectGridBuilder

      public ProjectGridBuilder()
  • Method Details

    • build

      public abstract ProjectGrid build(BuildPipelineView owner)
      Builds the grid.
      Parameters:
      owner - The view for which this builder is working. Never null. If the ProjectGridBuilder takes user-supplied job name, this parameter should be used as a context to resolve relative names. See Jenkins.getItem(String, hudson.model.ItemGroup) (where you obtain ItemGroup by View.getOwnerItemGroup().
      Returns:
      Never null, although the obtained ProjectGrid can be empty.
    • onJobRenamed

      public void onJobRenamed(BuildPipelineView owner, Item item, String oldName, String newName) throws IOException
      Called by BuildPipelineView when one of its members are renamed.
      Parameters:
      owner - View that this builder is operating under.
      oldName - Old short name of the job
      newName - New short name of the job
      item - Job being renamed.
      Throws:
      IOException
    • hasBuildPermission

      public abstract boolean hasBuildPermission(BuildPipelineView owner)
      If the grid produced by this builder supports the notion of "starting a new pipeline instance", and if the current user has a permission to do so, then return true.
      Parameters:
      owner - View that this builder is operating under.
      Returns:
      True if the user has a permission.
    • startsWithParameters

      public abstract boolean startsWithParameters(BuildPipelineView owner)
      If the first job of the grid produced by this builder has parameters
      Parameters:
      owner - View that this builder is operating under.
      Returns:
      True if the first job has parameters.
    • doBuild

      public abstract org.kohsuke.stapler.HttpResponse doBuild(org.kohsuke.stapler.StaplerRequest req, @AncestorInPath BuildPipelineView owner) throws IOException
      Called to start a new pipeline instance (normally by triggering some job.)
      Parameters:
      req - Current HTTP request
      owner - View that this builder is operating under.
      Returns:
      The HTTP response.
      Throws:
      IOException
    • getDescriptor

      public ProjectGridBuilderDescriptor getDescriptor()
      Specified by:
      getDescriptor in interface Describable<ProjectGridBuilder>
      Overrides:
      getDescriptor in class AbstractDescribableImpl<ProjectGridBuilder>