Package hudson.tasks

Class Publisher

All Implemented Interfaces:
Describable<Publisher>, BuildStep
Direct Known Subclasses:
Notifier, Recorder

public abstract class Publisher extends BuildStepCompatibilityLayer implements Describable<Publisher>
BuildSteps that run after the build is completed.

To register a custom Publisher from a plugin, put Extension on your descriptor implementation.

Starting 1.178, publishers are exposed to all kinds of different project type, not just the freestyle project type (in particular, the native maven2 job type.) This is convenient default for Publishers in particular initially, but we encourage advanced plugins to consider writing MavenReporter, as it offers the potential of reducing the amount of configuration needed to run the plugin. For those plugins that don't want Publisher to show up in different job type, use BuildStepDescriptor for the base type of your descriptor to control which job type it supports.

Author:
Kohsuke Kawaguchi
  • Constructor Details

  • Method Details

    • prebuild

      @Deprecated public boolean prebuild(Build build, BuildListener listener)
      Deprecated.
      since 1.150
      Default implementation that does nothing.
      Overrides:
      prebuild in class BuildStepCompatibilityLayer
    • getProjectAction

      @Deprecated public Action getProjectAction(Project project)
      Deprecated.
      since 1.150
      Default implementation that does nothing.
      Overrides:
      getProjectAction in class BuildStepCompatibilityLayer
    • needsToRunAfterFinalized

      public boolean needsToRunAfterFinalized()
      Return true if this Publisher needs to run after the build result is fully finalized.

      The execution of normal Publishers are considered within a part of the build. This allows publishers to mark the build as a failure, or to include their execution time in the total build time.

      So normally, that is the preferable behavior, but in a few cases this is problematic. One of such cases is when a publisher needs to trigger other builds, which in turn need to see this build as a completed build. Those plugins that need to do this can return true from this method, so that the BuildStepCompatibilityLayer.perform(AbstractBuild, Launcher, BuildListener) method is called after the build is marked as completed.

      When Publisher behaves this way, note that they can no longer change the build status anymore.

      Since:
      1.153
    • getDescriptor

      public Descriptor<Publisher> getDescriptor()
      Description copied from interface: Describable
      Gets the descriptor for this instance.

      Descriptor is a singleton for every concrete Describable implementation, so if a.getClass() == b.getClass() then by default a.getDescriptor() == b.getDescriptor() as well. (In rare cases a single implementation class may be used for instances with distinct descriptors.)

      Specified by:
      getDescriptor in interface Describable<Publisher>
    • all

      Returns all the registered Publisher descriptors.