Package hudson.model

Class ManagementLink

All Implemented Interfaces:
ExtensionPoint, Action, ModelObject
Direct Known Subclasses:
AboutJenkins, AppearanceGlobalConfiguration, CliLink, CloudsLink, ConfigureLink, ConsoleLink, GlobalSecurityConfiguration, GlobalToolConfiguration, HudsonPrivateSecurityRealm.ManageUserLinks, NodesLink, OldDataMonitor.ManagementLinkImpl, PluginsLink, ReloadLink, ShutdownLink, StatisticsLink, SystemInfoLink, SystemLogLink, WindowsInstallerLink

public abstract class ManagementLink extends Object implements ExtensionPoint, Action
Extension point to add icon to http://server/hudson/manage page.

This is a place for exposing features that are only meant for system admins (whereas features that are meant for Hudson users at large should probably be added to Jenkins.getActions().)

To register a new instance, put Extension on your implementation class.

Kohsuke Kawaguchi
  • Field Details

  • Constructor Details

    • ManagementLink

      public ManagementLink()
  • Method Details

    • getIconFileName

      @CheckForNull public abstract String getIconFileName()
      Mostly works like Action.getIconFileName(), except that the expected icon format is SVG. So if you give just a file name, "/images/svgs" will be assumed.
      Specified by:
      getIconFileName in interface Action
      As a special case, return null to exclude this object from the management link. This is useful for defining ManagementLink that only shows up under certain circumstances.
      See Also:
    • getDescription

      public String getDescription()
      Returns a short description of what this link does. This text is the one that's displayed in grey. This can include HTML, although the use of block tags is highly discouraged. Optional.
    • getUrlName

      @CheckForNull public abstract String getUrlName()
      Gets the URL path name.

      For example, if this method returns "xyz", and if the parent object (that this action is associated with) is bound to /foo/bar/zot, then this action object will be exposed to /foo/bar/zot/xyz.

      This method should return a string that's unique among other Actions.

      The returned string can be an absolute URL, like "", which is useful for directly connecting to external systems.

      If the returned string starts with '/', like '/foo', then it's assumed to be relative to the context path of the Jenkins webapp.

      In case of ManagementLink, this value is put straight into the href attribute, so relative paths are interpreted against the root Jenkins object.

      Specified by:
      getUrlName in interface Action
      null if this action object doesn't need to be bound to web (when you do that, be sure to also return null from Action.getIconFileName().
      See Also:
    • getRequiresConfirmation

      public boolean getRequiresConfirmation()
      Allows implementations to request that this link show a confirmation dialog, and use POST if confirmed. Suitable for links which perform an action rather than simply displaying a page.
      true if this link takes an action
      See Also:
      • RequirePOST
    • all

      @NonNull public static ExtensionList<ManagementLink> all()
      All registered instances.
    • getRequiredPermission

      @NonNull public Permission getRequiredPermission()
      Returns the permission required for user to see this management link on the "Manage Jenkins" page (ManageJenkinsAction). Historically, this returned null, which amounted to the same behavior, as Jenkins.ADMINISTER was required to access the page.
      the permission required for the link to be shown on "Manage Jenkins".
    • getRequiresPOST

      public boolean getRequiresPOST()
      Define if the rendered link will use the default GET method or POST.
      true if POST must be used
      See Also:
      • RequirePOST
    • getCategoryName

      @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) @NonNull protected String getCategoryName()
      Name of the category for this management link. Exists so that plugins with core dependency pre-dating the version when this was introduced can define a category. Plugins with newer core dependency override getCategory() instead.
      name of the desired category, one of the enum values of ManagementLink.Category, e.g. STATUS.
    • getCategory

      @NonNull public ManagementLink.Category getCategory()
      Category for management link, uses String so it can be done with core dependency pre-dating the version this feature was added.
      An enum value of ManagementLink.Category.
    • getBadge

      @CheckForNull public Badge getBadge()
      A Badge shown as overlay over the icon on "Manage Jenkins".
      badge or null if no badge should be shown.