Class RootUrlNotSetMonitor
- java.lang.Object
-
- hudson.model.AbstractModelObject
-
- hudson.model.AdministrativeMonitor
-
- jenkins.diagnostics.RootUrlNotSetMonitor
-
- All Implemented Interfaces:
ExtensionPoint
,ModelObject
,SearchableModelObject
,SearchItem
,org.kohsuke.stapler.StaplerProxy
@Extension @Symbol("rootUrlNotSet") @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) public class RootUrlNotSetMonitor extends AdministrativeMonitor
Jenkins URL is required for a lot of operations in both core and plugins. There is a default behavior (infer the URL from the request object), but inaccurate in some scenarios. Normally this root URL is set during SetupWizard phase, this monitor is there to ensure that behavior. Potential exceptions are the dev environment, if someone disable the wizard or the administrator put an empty string on the configuration page.- Since:
- 2.119
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson
-
-
Field Summary
-
Fields inherited from class hudson.model.AdministrativeMonitor
id
-
-
Constructor Summary
Constructors Constructor Description RootUrlNotSetMonitor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getDisplayName()
Permission
getRequiredPermission()
Required permission to view this admin monitor.boolean
isActivated()
Returns true if this monitor is activated and wants to produce a warning message.boolean
isUrlNull()
-
Methods inherited from class hudson.model.AdministrativeMonitor
all, disable, doDisable, getSearchUrl, getTarget, getUrl, isEnabled, isSecurity
-
Methods inherited from class hudson.model.AbstractModelObject
getSearch, getSearchIndex, getSearchName, makeSearchIndex, requirePOST, sendError, sendError, sendError, sendError, sendError
-
-
-
-
Method Detail
-
getDisplayName
public String getDisplayName()
- Specified by:
getDisplayName
in interfaceModelObject
- Overrides:
getDisplayName
in classAdministrativeMonitor
-
isActivated
public boolean isActivated()
Description copied from class:AdministrativeMonitor
Returns true if this monitor is activated and wants to produce a warning message.This method is called from the HTML rendering thread, so it should run efficiently.
- Specified by:
isActivated
in classAdministrativeMonitor
-
isUrlNull
@Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) public boolean isUrlNull()
-
getRequiredPermission
public Permission getRequiredPermission()
Description copied from class:AdministrativeMonitor
Required permission to view this admin monitor. By defaultJenkins.ADMINISTER
, butJenkins.SYSTEM_READ
is also supported.Changing this permission check to return
Jenkins.SYSTEM_READ
will make the active administrative monitor appear onmanage.jelly
and on the globally visibleAdministrativeMonitorsDecorator
to users without Administer permission.AdministrativeMonitor.doDisable(StaplerRequest, StaplerResponse)
will still always require Administer permission.Implementers need to ensure that
doAct
and other web methods perform necessary permission checks: Users with System Read permissions are expected to be limited to read-only access. Form UI elements that change system state, e.g. toggling a feature on or off, need to be hidden from users lacking Administer permission.- Overrides:
getRequiredPermission
in classAdministrativeMonitor
-
-