Package hudson.tasks

Class BuildTrigger.DescriptorImpl

All Implemented Interfaces:
Saveable, Loadable, OnMaster
Enclosing class:
BuildTrigger

@Extension @Symbol("downstream") public static class BuildTrigger.DescriptorImpl extends BuildStepDescriptor<Publisher>
  • Constructor Details

    • DescriptorImpl

      public DescriptorImpl()
  • Method Details

    • getDisplayName

      @NonNull public String getDisplayName()
      Description copied from class: Descriptor
      Human readable name of this kind of configurable object. Should be overridden for most descriptors, if the display name is visible somehow. As a fallback it uses Class.getSimpleName() on Descriptor.clazz, so for example MyThing from some.pkg.MyThing.DescriptorImpl. Historically some implementations returned null as a way of hiding the descriptor from the UI, but this is generally managed by an explicit method such as isEnabled or isApplicable.
      Overrides:
      getDisplayName in class Descriptor<Publisher>
    • getHelpFile

      public String getHelpFile()
      Description copied from class: Descriptor
      Returns the resource path to the help screen HTML, if any.

      Starting 1.282, this method uses "convention over configuration" — you should just put the "help.html" (and its localized versions, if any) in the same directory you put your Jelly view files, and this method will automatically does the right thing.

      This value is relative to the context root of Hudson, so normally the values are something like "/plugin/emma/help.html" to refer to static resource files in a plugin, or "/publisher/EmmaPublisher/abc" to refer to Jelly script abc.jelly or a method EmmaPublisher.doAbc().

      Overrides:
      getHelpFile in class Descriptor<Publisher>
      Returns:
      null to indicate that there's no help.
    • newInstance

      public BuildTrigger newInstance(org.kohsuke.stapler.StaplerRequest req, net.sf.json.JSONObject formData) throws Descriptor.FormException
      Description copied from class: Descriptor
      Creates a configured instance from the submitted form.

      Hudson only invokes this method when the user wants an instance of T. So there's no need to check that in the implementation.

      The default implementation of this method uses Descriptor.bindJSON(org.kohsuke.stapler.StaplerRequest, java.lang.Class<T>, net.sf.json.JSONObject) which performs the databinding on the constructor of Descriptor.clazz.

      For some types of Describable, such as ListViewColumn, this method can be invoked with null request object for historical reason. Such design is considered broken, but due to the compatibility reasons we cannot fix it. Because of this, the default implementation gracefully handles null request, but the contract of the method still is "request is always non-null." Extension points that need to define the "default instance" semantics should define a descriptor subtype and add the no-arg newInstance method.

      Overrides:
      newInstance in class Descriptor<Publisher>
      Parameters:
      req - Always non-null (see note above.) This object includes represents the entire submission.
      formData - The JSON object that captures the configuration data for this Descriptor. See the developer documentation. Always non-null.
      Throws:
      Descriptor.FormException - Signals a problem in the submitted form.
    • isApplicable

      public boolean isApplicable(Class<? extends AbstractProject> jobType)
      Description copied from class: BuildStepDescriptor
      Returns true if this task is applicable to the given project.
      Specified by:
      isApplicable in class BuildStepDescriptor<Publisher>
      Returns:
      true to allow user to configure this post-promotion task for the given project.
      See Also:
    • showEvenIfUnstableOption

      public boolean showEvenIfUnstableOption(@CheckForNull Class<? extends AbstractProject<?,?>> jobType)
    • doCheck

      public FormValidation doCheck(@AncestorInPath AbstractProject project, @QueryParameter String value)
      Form validation method.
    • doAutoCompleteChildProjects

      public AutoCompletionCandidates doAutoCompleteChildProjects(@QueryParameter String value, @AncestorInPath Item self, @AncestorInPath ItemGroup container)