Jenkins插件开发(4)——插件开发扩展点(Extension Point)
Posted on 2013-04-16 15:17 Bruce Zhang 阅读(3587) 评论(0) 编辑 收藏 举报官方文档参照:https://wiki.jenkins-ci.org/display/JENKINS/Extension+points
Jenkins defines extension points, which are interfaces or abstract classes that model an aspect of a build system.
Those interfaces define contracts of what need to be implemented, and Jenkins allows plugins to contribute
those implementations. In general, all you need to do to register an implementation is to mark it with
@Extension. Creating a new extension point is quite easy too,
see defining a new extension point for details.
Currently the following extension points are available. See Javadoc for more details about the contracts:
Currently the following extension points are available. See Javadoc for more details about the contracts:
- Extension Points in Jenkins Core
- hudson.ExtensionFinder
- hudson.FilePath.FileCallableWrapperFactory
- hudson.FileSystemProvisioner
- hudson.FileSystemProvisionerDescriptor
- hudson.LauncherDecorator
- hudson.PluginStrategy
- hudson.UDPBroadcastFragment
- hudson.URLConnectionDecorator
- hudson.cli.CLICommand
- hudson.cli.CliTransportAuthenticator
- hudson.console.ConsoleAnnotationDescriptor
- hudson.console.ConsoleAnnotatorFactory
- hudson.console.ConsoleLogFilter
- hudson.console.ConsoleNote
- hudson.diagnosis.HudsonHomeDiskUsageMonitor.Solution
- hudson.lifecycle.Lifecycle
- hudson.markup.MarkupFormatter
- hudson.matrix.Axis
- hudson.matrix.MatrixAggregatable
- hudson.matrix.MatrixAggregator
- hudson.matrix.MatrixConfigurationSorter
- hudson.matrix.MatrixExecutionStrategy
- hudson.matrix.listeners.MatrixBuildListener
- hudson.model.AdministrativeMonitor
- hudson.model.AperiodicWork
- hudson.model.BuildStepListener
- hudson.model.BuildVariableContributor
- hudson.model.ComputerPanelBox
- hudson.model.ComputerPinger
- hudson.model.DescriptorVisibilityFilter
- hudson.model.DownloadService.Downloadable
- hudson.model.EnvironmentContributor
- hudson.model.Job
- hudson.model.JobProperty
- hudson.model.LabelFinder
- hudson.model.ManagementLink
- hudson.model.Node
- hudson.model.PageDecorator
- hudson.model.ParameterDefinition
- hudson.model.PeriodicWork
- hudson.model.Queue.QueueDecisionHandler
- hudson.model.RestartListener
- hudson.model.RootAction
- hudson.model.Run
- hudson.model.TopLevelItem
- hudson.model.TransientBuildActionFactory
- hudson.model.TransientComputerActionFactory
- hudson.model.TransientProjectActionFactory
- hudson.model.TransientUserActionFactory
- hudson.model.TransientViewActionFactory
- hudson.model.UnprotectedRootAction
- hudson.model.UpdateCenter.UpdateCenterConfiguration
- hudson.model.UserProperty
- hudson.model.View
- hudson.model.ViewProperty
- hudson.model.WorkspaceBrowser
- hudson.model.WorkspaceListener
- hudson.model.labels.LabelAtomProperty
- hudson.model.listeners.ItemListener
- hudson.model.listeners.RunListener
- hudson.model.listeners.SCMListener
- hudson.model.listeners.SCMPollListener
- hudson.model.listeners.SaveableListener
- hudson.model.queue.LoadPredictor
- hudson.model.queue.QueueSorter
- hudson.model.queue.QueueTaskDispatcher
- hudson.model.queue.SubTaskContributor
- hudson.node_monitors.NodeMonitor
- hudson.os.windows.ManagedWindowsServiceAccount
- hudson.scm.ChangeLogAnnotator
- hudson.scm.RepositoryBrowser
- hudson.scm.SCM
- hudson.search.SearchFactory
- hudson.security.AuthorizationStrategy
- hudson.security.FederatedLoginService
- hudson.security.SecurityRealm
- hudson.security.captcha.CaptchaSupport
- hudson.security.csrf.CrumbExclusion
- hudson.security.csrf.CrumbIssuer
- hudson.slaves.Cloud
- hudson.slaves.ComputerConnector
- hudson.slaves.ComputerLauncher
- hudson.slaves.ComputerListener
- hudson.slaves.NodeProperty
- hudson.slaves.RetentionStrategy
- hudson.tasks.BuildWrapper
- hudson.tasks.Builder
- hudson.tasks.Notifier
- hudson.tasks.Recorder
- hudson.tasks.UserAvatarResolver
- hudson.tasks.UserNameResolver
- hudson.tasks.junit.TestDataPublisher
- hudson.tasks.test.TestResultParser
- hudson.tools.ToolInstallation
- hudson.tools.ToolInstaller
- hudson.tools.ToolLocationTranslator
- hudson.tools.ToolProperty
- hudson.triggers.Trigger
- hudson.util.AlternativeUiTextProvider
- hudson.util.PluginServletFilter
- hudson.util.ProcessKiller
- hudson.util.io.ParserConfigurator
- hudson.views.ListViewColumn
- hudson.views.MyViewsTabBar
- hudson.views.ViewJobFilter
- hudson.views.ViewsTabBar
- hudson.widgets.Widget
- jenkins.AgentProtocol
- jenkins.ExtensionFilter
- jenkins.model.BuildDiscarder
- jenkins.model.FingerprintFacet
- jenkins.model.GlobalConfiguration
- jenkins.model.GlobalConfigurationCategory
- jenkins.model.ProjectNamingStrategy
- jenkins.model.TransientFingerprintFacetFactory
- jenkins.mvn.GlobalSettingsProvider
- jenkins.mvn.SettingsProvider
- jenkins.scm.SCMCheckoutStrategy
- jenkins.slaves.WorkspaceLocator
- Extension Points in Token Macro Plugin
- Extension Points in Confluence Publisher Plugin
- com.myyearbook.hudson.plugins.confluence.wiki.editors.MarkupEditor
- com.myyearbook.hudson.plugins.confluence.wiki.generators.MarkupGenerator
- Extension Points in Git Plugin
- Extension Points in FSTrigger Plugin
- Extension Points in Run Condition Plugin
- Extension Points in Selenium Plugin
- hudson.plugins.selenium.configuration.browser.AbstractSeleniumBrowser
- hudson.plugins.selenium.configuration.global.matcher.SeleniumConfigurationMatcher
- Extension Points in Jenkins UI sample plugin
- Extension Points in Performance Plugin
- Extension Points in Copy Artifact Plugin
- Extension Points in Label Verifier Plugin
- Extension Points in PeriodicBackup Plugin
- org.jenkinsci.plugins.periodicbackup.FileManagerDescriptor
- org.jenkinsci.plugins.periodicbackup.LocationDescriptor
- org.jenkinsci.plugins.periodicbackup.StorageDescriptor
- Extension Points in Email-ext plugin
- Extension Points in Dependency Graph View Plugin
- hudson.plugins.depgraph_view.model.graph.EdgeProvider
- hudson.plugins.depgraph_view.model.graph.SubProjectProvider
- Extension Points in Multi Module Tests Publisher
- Extension Points in Exclusion-Plugin
- Extension Points in Sectioned View Plugin
- Extension Points in Flexible Publish Plugin
- Extension Points in SharedObjects Plugin
- Extension Points in JaCoCo Plugin
- Extension Points in OpenID plugin
- Extension Points in RabbitMQ Build Trigger Plugin
- Extension Points in CAS Plugin
- Extension Points in EnvInject Plugin
- Extension Points in Karotz Plugin
- Extension Points in Subversion Plugin
- Extension Points in Port Allocator Plugin
- Extension Points in CVS Plugin
- Extension Points in Build Cause Run Condition
- Extension Points in Recipe Plugin
- Extension Points in Promoted Builds Plugin
- Extension Points in BlazeMeter Plugin
- Extension Points in Persona Plugin
- Extension Points in Extensible Choice Parameter plugin
- Extension Points in Jenkins Maven Repository Server
- Extension Points in Database Plugin
- Extension Points in Gnat Plugin
- com.thalesgroup.hudson.plugins.gnat.gnatcheck.GnatcheckType
- com.thalesgroup.hudson.plugins.gnat.gnatmetric.GnatmetricType
- Extension Points in PXE Plugin
- Extension Points in Conditional BuildStep Plugin
- Extension Points in Build Keeper Plugin
- Extension Points in URLTrigger Plugin
- Extension Points in Deploy Plugin
- Extension Points in Metadata plugin
- com.sonyericsson.hudson.plugins.metadata.MetadataUpdateListener
- com.sonyericsson.hudson.plugins.metadata.contributors.BuildMetadataContributor
- com.sonyericsson.hudson.plugins.metadata.contributors.JobMetadataContributor
- Extension Points in Mailer
- Extension Points in Jobcopy Builder plugin
- Extension Points in Pending Changes Plugin
- Extension Points in Rebuild Plugin
- Extension Points in Credentials Plugin
- Extension Points in Ivy Plugin
- Extension Points in Hudson Personal View
- Extension Points in suite-test-groups-publisher
- Extension Points in Memory Map Plugin
- Extension Points in Instant Messaging Plugin
- Extension Points in RabbitMQ Consumer Plugin
- Extension Points in Build Alias Setter Plugin
- Extension Points in All Changes Plugin
- Extension Points in Publish Over FTP Plugin
- Extension Points in Maven 2 Project Plugin
- Extension Points in Github OAuth Plugin
- Extension Points in xUnit Plugin
- Extension Points in BuildContextCapture Plugin
- Extension Points in SSH Agent Plugin
- Extension Points in CodeCover Plugin
- Extension Points in Warnings Plugin
- Extension Points in Configuration Slicing Plugin
- Extension Points in Dashboard View
- Extension Points in Audit To Database Plugin
- Extension Points in SSH Slaves plugin
- Extension Points in Git Server Plugin
- Extension Points in Publish Over SSH Plugin
- Extension Points in SSH Credentials Plugin
备注:“扩展点”真多,想搞清楚就得多花时间了。