Extension Points defined in Jenkins Core

This site is the new docs site currently being tested. For the actual docs in use please go to https://www.jenkins.io/doc.

AbstractProject.LabelValidator

jenkinsdoc:hudson.model.AbstractProject.LabelValidator

Plugins may want to contribute additional restrictions on the use of specific labels for specific projects. This extension point allows such restrictions.

Implementations:

(no known implementations)

AdministrativeMonitor

jenkinsdoc:hudson.model.AdministrativeMonitor

Checks the health of a subsystem of Jenkins and if there's something that requires administrator's attention, notify the administrator.

Implementations:

AgentProtocol

jenkinsdoc:jenkins.AgentProtocol

Pluggable Jenkins TCP agent protocol handler called from jenkinsdoc:TcpSlaveAgentListener] .

Implementations:

AlternativeUiTextProvider

jenkinsdoc:hudson.util.AlternativeUiTextProvider

Provides the alternative text to be rendered in the UI.

Implementations:

AperiodicWork

jenkinsdoc:hudson.model.AperiodicWork

Extension point which allows scheduling a task with variable interval. Interval in evaluated every time before next task is scheduled by calling jenkinsdoc:=getRecurrencePeriod()] . Task to be scheduled is obtain by calling jenkinsdoc:=getNewInstance()] .

Implementations:

ArtifactManagerFactory

jenkinsdoc:jenkins.model.ArtifactManagerFactory

Pluggable ability to manage transfer and/or storage of build artifacts. The descriptor should specify at least a display name, and optionally a {@code config} view. Since the user can configure this class, you must have a jenkinsdoc:DataBoundConstructor] .

Implementations:

AuthorizationStrategy

jenkinsdoc:hudson.security.AuthorizationStrategy

Controls authorization throughout Hudson.

Implementations:

BasicHeaderAuthenticator

jenkinsdoc:jenkins.security.BasicHeaderAuthenticator

When Jenkins receives HTTP basic authentication, this hook will validate the username/password pair.

Implementations:

BuildDiscarder

jenkinsdoc:jenkins.model.BuildDiscarder

Implementation of "Discard old build records" feature.

Implementations:

BuildReference.HolderFactory

jenkinsdoc:jenkins.model.lazy.BuildReference.HolderFactory

Extensible factory for creating build references.

Implementations:

BuildStepListener

jenkinsdoc:hudson.model.BuildStepListener

Receives events that happen as a build executes jenkinsdoc:BuildStep] s.

Implementations:

BuildVariableContributor

jenkinsdoc:hudson.model.BuildVariableContributor

Contributes build variables to builds.

Implementations:

BuildWrapper

jenkinsdoc:hudson.tasks.BuildWrapper

Pluggability point for performing pre/post actions for the build process.

Implementations:

Builder

jenkinsdoc:hudson.tasks.Builder

jenkinsdoc:BuildStep] s that perform the actual build.

Implementations:

CLICommand

jenkinsdoc:hudson.cli.CLICommand

Base class for Hudson CLI.

Implementations:

CaptchaSupport

jenkinsdoc:hudson.security.captcha.CaptchaSupport

Extension point for adding Captcha Support to User Registration Page jenkinsdoc:CaptchaSupport] .

Implementations:

ChangeLogAnnotator

jenkinsdoc:hudson.scm.ChangeLogAnnotator

Performs mark up on changelog messages to be displayed.

Implementations:

ChannelConfigurator

jenkinsdoc:jenkins.security.ChannelConfigurator

Intercepts the new creation of jenkinsdoc:Channel] and tweak its configuration.

Implementations:

CliTransportAuthenticator

jenkinsdoc:hudson.cli.CliTransportAuthenticator

This extension point has no Javadoc documentation.

Implementations:

(no known implementations)

Cloud

jenkinsdoc:hudson.slaves.Cloud

Creates jenkinsdoc:Node] s to dynamically expand/shrink the agents attached to Hudson.

Implementations:

CloudProvisioningListener

jenkinsdoc:hudson.slaves.CloudProvisioningListener

Allows extensions to be notified of events in any jenkinsdoc:Cloud] and to prevent provisioning from a jenkinsdoc:Cloud] .

Implementations:

ComputerConnector

jenkinsdoc:hudson.slaves.ComputerConnector

Factory of jenkinsdoc:ComputerLauncher] .

Implementations:

ComputerLauncher

jenkinsdoc:hudson.slaves.ComputerLauncher

Extension point to allow control over how jenkinsdoc:Computer] s are "launched", meaning how they get connected to their agent program.

Implementations:

ComputerListener

jenkinsdoc:hudson.slaves.ComputerListener

Receives notifications about status changes of jenkinsdoc:Computer] s.

Implementations:

ComputerPanelBox

jenkinsdoc:hudson.model.ComputerPanelBox

Adds box rendered in the computer side panel.

Implementations:

ComputerPinger

jenkinsdoc:hudson.model.ComputerPinger

A way to see if a computer is reachable.

Implementations:

ConsoleAnnotationDescriptor

jenkinsdoc:hudson.console.ConsoleAnnotationDescriptor

Descriptor for jenkinsdoc:ConsoleNote] .

Implementations:

ConsoleAnnotatorFactory

jenkinsdoc:hudson.console.ConsoleAnnotatorFactory

Entry point to the jenkinsdoc:ConsoleAnnotator] extension point. This class creates a new instance of jenkinsdoc:ConsoleAnnotator] that starts a new console annotation session.

Implementations:

ConsoleLogFilter

jenkinsdoc:hudson.console.ConsoleLogFilter

A hook to allow filtering of information that is written to the console log. Unlike jenkinsdoc:ConsoleAnnotator] and jenkinsdoc:ConsoleNote] , this class provides direct access to the underlying jenkinsdoc:OutputStream] so it's possible to suppress data, which isn't possible from the other interfaces. ( jenkinsdoc:ArgumentListBuilder=add(String, boolean)] is a simpler way to suppress a single password.)

Implementations which are jenkinsdoc:Serializable] may be sent to an agent JVM for processing. In particular, this happens under JEP-210. In this case, the implementation should not assume that jenkinsdoc:JenkinsJVM=isJenkinsJVM] , and if generating jenkinsdoc:ConsoleNote] s will need to encode them on the master side first.</p>

Implementations:

ConsoleNote

jenkinsdoc:hudson.console.ConsoleNote

Data that hangs off from a console output.

Implementations:

CrumbExclusion

jenkinsdoc:hudson.security.csrf.CrumbExclusion

Allows plugins to define exceptions to the CSRF protection filter.

Implementations:

CrumbIssuer

jenkinsdoc:hudson.security.csrf.CrumbIssuer

A CrumbIssuer represents an algorithm to generate a nonce value, known as a crumb, to counter cross site request forgery exploits. Crumbs are typically hashes incorporating information that uniquely identifies an agent that sends a request, along with a guarded secret so that the crumb value cannot be forged by a third party.

Implementations:

CustomClassFilter

jenkinsdoc:jenkins.security.CustomClassFilter

Allows extensions to adjust the behavior of jenkinsdoc:ClassFilter=DEFAULT] . Custom filters can be called frequently, and return values are uncached, so implementations should be fast.

Implementations:

DescriptorVisibilityFilter

jenkinsdoc:hudson.model.DescriptorVisibilityFilter

Hides jenkinsdoc:Descriptor] s from users.

Implementations:

DownloadService.Downloadable

jenkinsdoc:hudson.model.DownloadService.Downloadable

Represents a periodically updated JSON data file obtained from a remote URL.

Implementations:

EnvVarsFilterGlobalRule

jenkinsdoc:jenkins.tasks.filters.EnvVarsFilterGlobalRule

Environment variables filter rule that is configured globally for all jobs.

The job types can be filtered using jenkinsdoc:=isApplicable(Run, Object, Launcher)] </p>

Implementations:

EnvVarsFilterLocalRule

jenkinsdoc:jenkins.tasks.filters.EnvVarsFilterLocalRule

Environment variables filter rule that is specific to a job configuration, using script-specific variables, etc.

The job types can be filtered using jenkinsdoc:EnvVarsFilterLocalRuleDescriptor=isApplicable(Class)] </p>

Implementations:

EnvironmentContributor

jenkinsdoc:hudson.model.EnvironmentContributor

Contributes environment variables to builds.

Implementations:

ExecutorListener

jenkinsdoc:hudson.model.ExecutorListener

A listener for task related events from executors. A jenkinsdoc:Computer=getRetentionStrategy] or jenkinsdoc:SlaveComputer=getLauncher] may implement this interface. Or you may create an implementation as an extension (since TODO).

Implementations:

ExtensionFilter

jenkinsdoc:jenkins.ExtensionFilter

Filters out jenkinsdoc:ExtensionComponent] s discovered by jenkinsdoc:ExtensionFinder] s, as if they were never discovered.

Implementations:

ExtensionFinder

jenkinsdoc:hudson.ExtensionFinder

Discovers the implementations of an extension point.

Implementations:

FederatedLoginService

jenkinsdoc:hudson.security.FederatedLoginService

Abstraction for a login mechanism through external authenticator/identity provider (instead of username/password.)

Implementations:

FilePath.FileCallableWrapperFactory

jenkinsdoc:hudson.FilePath.FileCallableWrapperFactory

This extension point allows to contribute a wrapper around a fileCallable so that a plugin can "intercept" a call.

The jenkinsdoc:=wrap(hudson.remoting.DelegatingCallable)] method itself will be executed on the controller (and may collect contextual data if needed) and the returned wrapper will be executed on remote.</p>

Implementations:

FingerprintFacet

jenkinsdoc:jenkins.model.FingerprintFacet

Plugin-specific additions to fingerprint information.

Implementations:

FingerprintStorage

jenkinsdoc:jenkins.fingerprints.FingerprintStorage

Pluggable fingerprint storage API for fingerprints.

Implementations:

GlobalBuildDiscarderStrategy

jenkinsdoc:jenkins.model.GlobalBuildDiscarderStrategy

Extension point for global background build discarders.

Implementations:

GlobalConfiguration

jenkinsdoc:jenkins.model.GlobalConfiguration

Convenient base class for extensions that contributes to the system configuration page but nothing else, or to manage the global configuration of a plugin implementing several extension points.

Implementations:

GlobalConfigurationCategory

jenkinsdoc:jenkins.model.GlobalConfigurationCategory

Grouping of related jenkinsdoc:GlobalConfiguration] s.

Implementations:

GlobalSettingsProvider

jenkinsdoc:jenkins.mvn.GlobalSettingsProvider

This extension point has no Javadoc documentation.

Implementations:

Header

jenkinsdoc:jenkins.views.Header

Extension point that provides capabilities to render a specific header.

Implementations:

HttpSessionListener

jenkinsdoc:jenkins.util.HttpSessionListener

jenkinsdoc:javax.servlet.http.HttpSessionListener] jenkinsdoc:ExtensionPoint] for Jenkins.

Allows plugins to listen to jenkinsdoc:HttpSession] lifecycle events.</p>

Implementations:

HudsonHomeDiskUsageMonitor.Solution

jenkinsdoc:hudson.diagnosis.HudsonHomeDiskUsageMonitor.Solution

Extension point for suggesting solutions for full JENKINS_HOME. Views are as follows:

Implementations:

(no known implementations)

IdStrategy

jenkinsdoc:jenkins.model.IdStrategy

The strategy to use for manipulating converting names (e.g. user names, group names, etc) into ids.

Implementations:

InstallState

jenkinsdoc:jenkins.install.InstallState

Jenkins install state.

Implementations:

InstallStateFilter

jenkinsdoc:jenkins.install.InstallStateFilter

Allows plugging in to the lifecycle when determining InstallState from jenkinsdoc:InstallUtil=getNextInstallState(InstallState)]

Implementations:

(no known implementations)

InstanceIdentityProvider

jenkinsdoc:jenkins.model.identity.InstanceIdentityProvider

A source of instance identity.

Should not be used from plugins, except to be implemented by {@code instance-identity}. Other plugins wishing to get the RSA key may depend on {@code instance-identity} directly.</p>

Implementations:

ItemCategory

jenkinsdoc:jenkins.model.item_category.ItemCategory

A category for jenkinsdoc:hudson.model.Item] s.

Implementations:

ItemListener

jenkinsdoc:hudson.model.listeners.ItemListener

Receives notifications about CRUD operations of jenkinsdoc:Item] .

Implementations:

JnlpAgentReceiver

jenkinsdoc:jenkins.slaves.JnlpAgentReceiver

Receives incoming agents connecting through the likes of jenkinsdoc:JnlpSlaveAgentProtocol4] or jenkinsdoc:WebSocketAgents] .

Implementations:

Job

jenkinsdoc:hudson.model.Job

A job is an runnable entity under the monitoring of Hudson.

Implementations:

JobProperty

jenkinsdoc:hudson.model.JobProperty

Extensible property of jenkinsdoc:Job] .

Implementations:

LabelAtomProperty

jenkinsdoc:hudson.model.labels.LabelAtomProperty

Extensible property of jenkinsdoc:LabelAtom] .

Implementations:

LabelFinder

jenkinsdoc:hudson.model.LabelFinder

Automatically adds labels to jenkinsdoc:Node] s.

Implementations:

LabelValidator

jenkinsdoc:jenkins.model.labels.LabelValidator

Plugins may want to contribute additional restrictions on the use of specific labels for specific context items. This extension point allows such restrictions.

Implementations:

(no known implementations)

LauncherDecorator

jenkinsdoc:hudson.LauncherDecorator

Decorates jenkinsdoc:Launcher] so that one can intercept executions of commands and alters the command being executed, such as doing this in fakeroot, sudo, pfexec, etc.

Implementations:

[#lifecycle == Lifecycle

jenkinsdoc:hudson.lifecycle.Lifecycle

Provides the capability for starting/stopping/restarting/uninstalling Hudson.

Implementations:

ListViewColumn

jenkinsdoc:hudson.views.ListViewColumn

Extension point for adding a column to a table rendering of jenkinsdoc:Item] s, such as jenkinsdoc:ListView] .

Implementations:

LoadBalancer

jenkinsdoc:hudson.model.LoadBalancer

Strategy that decides which jenkinsdoc:Task] gets run on which jenkinsdoc:Executor] .

Implementations:

LoadPredictor

jenkinsdoc:hudson.model.queue.LoadPredictor

Predicts future load to the system, to assist the scheduling decisions

Implementations:

jenkinsdoc:hudson.model.ManagementLink

Extension point to add icon to {@code http://server/hudson/manage} page.

Implementations:

MarkupFormatter

jenkinsdoc:hudson.markup.MarkupFormatter

Generalization of a function that takes text with some markup and converts that to HTML. Such markup is often associated with Wiki.

Implementations:

MyViewsTabBar

jenkinsdoc:hudson.views.MyViewsTabBar

Extension point for adding a MyViewsTabBar header to Projects jenkinsdoc:MyViewsProperty] .

Implementations:

Node

jenkinsdoc:hudson.model.Node

Base type of Jenkins agents (although in practice, you probably extend jenkinsdoc:Slave] to define a new agent type).

Implementations:

NodeListener

jenkinsdoc:jenkins.model.NodeListener

Listen to jenkinsdoc:Node] CRUD operations.

Implementations:

NodeMonitor

jenkinsdoc:hudson.node_monitors.NodeMonitor

Extension point for managing and monitoring jenkinsdoc:Node] s.

Implementations:

NodeProperty

jenkinsdoc:hudson.slaves.NodeProperty

Extensible property of jenkinsdoc:Node] .

Implementations:

NodeProvisioner.Strategy

jenkinsdoc:hudson.slaves.NodeProvisioner.Strategy

Extension point for node provisioning strategies.

Implementations:

Notifier

jenkinsdoc:hudson.tasks.Notifier

jenkinsdoc:BuildStep] s that run after the build is completed.

Implementations:

PageDecorator

jenkinsdoc:hudson.model.PageDecorator

Participates in the rendering of HTML pages for all pages of Hudson.

Implementations:

ParameterDefinition

jenkinsdoc:hudson.model.ParameterDefinition

Defines a parameter for a build.

Implementations:

ParserConfigurator

jenkinsdoc:hudson.util.io.ParserConfigurator

Configures XML parsers to be used for various XML parsing activities inside Jenkins.

Implementations:

(no known implementations)

PeriodicWork

jenkinsdoc:hudson.model.PeriodicWork

Extension point to perform a periodic task in Hudson (through jenkinsdoc:Timer] .)

Implementations:

PermissionAdder

jenkinsdoc:hudson.security.PermissionAdder

Service which can add permissions for a given user to the configured authorization strategy. Useful e.g. to make the first user created in the system be automatically granted administer privilege.

Implementations:

PingFailureAnalyzer

jenkinsdoc:jenkins.slaves.PingFailureAnalyzer

Get notified when a channel triggered a ping failure, but before the channel is killed.

Implementations:

(no known implementations)

PluginLocaleDrivenResourceProvider

jenkinsdoc:jenkins.PluginLocaleDrivenResourceProvider

Contribute localizations for arbitrary resources from plugins.

Implementations:

PluginManagerStaplerOverride

jenkinsdoc:hudson.PluginManagerStaplerOverride

Extension point for selectively overriding parts of the jenkinsdoc:PluginManager] views Anything extending this and registered with an @Extension can replace existing views and define new views.

Implementations:

(no known implementations)

PluginServletFilter

jenkinsdoc:hudson.util.PluginServletFilter

Servlet jenkinsdoc:Filter] that chains multiple jenkinsdoc:Filter] s, provided by plugins

Implementations:

(no known implementations)

PluginStrategy

jenkinsdoc:hudson.PluginStrategy

Pluggability point for how to create jenkinsdoc:PluginWrapper] .

Implementations:

ProcessKiller

jenkinsdoc:hudson.util.ProcessKiller

Extension point that defines more elaborate way of killing processes, such as sudo or pfexec, for jenkinsdoc:ProcessTree] .

Implementations:

ProcessKillingVeto

jenkinsdoc:hudson.util.ProcessKillingVeto

Allows extensions to veto killing processes. If at least one extension vetoes the killing of a process, it will not be killed. This can be useful to keep daemon processes alive. An example is mspdbsrv.exe used by Microsoft compilers.

Implementations:

ProjectNamingStrategy

jenkinsdoc:jenkins.model.ProjectNamingStrategy

This ExtensionPoint allows to enforce the name of projects/jobs.

Implementations:

Queue.QueueDecisionHandler

jenkinsdoc:hudson.model.Queue.QueueDecisionHandler

Extension point for deciding if particular job should be scheduled or not.

Implementations: