public abstract class ChangeLogAnnotator extends Object implements ExtensionPoint
SCM changelog messages are usually plain text, but when we display that in Hudson, it is often nice to be able to put mark up on the text (for example to link to external issue tracking system.)
Plugins that are interested in doing so may extend this class and put Extension
on it.
When multiple annotators are registered, their results will be combined.
ExtensionPoint.LegacyInstancesAreScopedToHudson
Modifier and Type | Field and Description |
---|---|
static CopyOnWriteList<ChangeLogAnnotator> |
annotators
|
Constructor and Description |
---|
ChangeLogAnnotator() |
Modifier and Type | Method and Description |
---|---|
static ExtensionList<ChangeLogAnnotator> |
all()
Returns all the registered
ChangeLogAnnotator descriptors. |
void |
annotate(AbstractBuild<?,?> build,
ChangeLogSet.Entry change,
MarkupText text)
Deprecated.
|
void |
annotate(Run<?,?> build,
ChangeLogSet.Entry change,
MarkupText text)
Called by Hudson to allow markups to be added to the changelog text.
|
void |
register()
Deprecated.
as of 1.286
Prefer automatic registration via
Extension |
boolean |
unregister()
Unregisters this annotator, so that Hudson stops using this object.
|
@Deprecated public static final CopyOnWriteList<ChangeLogAnnotator> annotators
ChangeLogAnnotator
s.public void annotate(Run<?,?> build, ChangeLogSet.Entry change, MarkupText text)
This method is invoked each time a page is rendered, so implementations of this method should not take too long to execute. Also note that this method may be invoked concurrently by multiple threads.
If there's any error during the processing, it should be recorded in
Logger
and the method should return normally.
build
- Build that owns this changelog. From here you can access broader contextual
information, like the project, or it settings. Never null.change
- The changelog entry for which this method is adding markup.
Never null.text
- The text and markups. Implementation of this method is expected to
add additional annotations into this object. If other annotators
are registered, the object may already contain some markups when this
method is invoked. Never null. MarkupText.getText()
on this instance
will return the same string as ChangeLogSet.Entry.getMsgEscaped()
.@Deprecated public void annotate(AbstractBuild<?,?> build, ChangeLogSet.Entry change, MarkupText text)
@Deprecated public final void register()
Extension
public final boolean unregister()
public static ExtensionList<ChangeLogAnnotator> all()
ChangeLogAnnotator
descriptors.Copyright © 2004–2022. All rights reserved.