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 aProjectGrid
.- Author:
- Kohsuke Kawaguchi
-
-
Constructor Summary
Constructors Constructor Description ProjectGridBuilder()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract ProjectGrid
build(BuildPipelineView owner)
Builds the grid.abstract org.kohsuke.stapler.HttpResponse
doBuild(org.kohsuke.stapler.StaplerRequest req, BuildPipelineView owner)
Called to start a new pipeline instance (normally by triggering some job.)ProjectGridBuilderDescriptor
getDescriptor()
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.void
onJobRenamed(BuildPipelineView owner, Item item, String oldName, String newName)
Called byBuildPipelineView
when one of its members are renamed.abstract boolean
startsWithParameters(BuildPipelineView owner)
If the first job of the grid produced by this builder has parameters
-
-
-
Method Detail
-
build
public abstract ProjectGrid build(BuildPipelineView owner)
Builds the grid.- Parameters:
owner
- The view for which this builder is working. Never null. If theProjectGridBuilder
takes user-supplied job name, this parameter should be used as a context to resolve relative names. SeeJenkins.getItem(String, hudson.model.ItemGroup)
(where you obtainItemGroup
byView.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 byBuildPipelineView
when one of its members are renamed.- Parameters:
owner
- View that this builder is operating under.oldName
- Old short name of the jobnewName
- New short name of the jobitem
- 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 requestowner
- View that this builder is operating under.- Returns:
- The HTTP response.
- Throws:
IOException
-
getDescriptor
public ProjectGridBuilderDescriptor getDescriptor()
- Specified by:
getDescriptor
in interfaceDescribable<ProjectGridBuilder>
- Overrides:
getDescriptor
in classAbstractDescribableImpl<ProjectGridBuilder>
-
-