Class InteractiveInputAppearanceConfig
- All Implemented Interfaces:
ExtensionPoint,Describable<GlobalConfiguration>,Saveable,Loadable,OnMaster
Kept deliberately separate from InteractiveInputGlobalConfig (which holds functional
flags under Manage Jenkins → System): Jenkins core guidance is that look-and-feel settings
belong in their own AppearanceCategory class so they surface under Manage Jenkins →
Appearance. Because AppearanceCategory has no @Symbol, JCasC maps this block to
the appearance.interactiveInputAppearance path (verified against
GlobalConfigurationCategoryConfigurator).
Look-and-feel switches plus an icon chooser:
notificationCentre— the global bell (off by default). When on, it lists all answerable questions on the dashboard but scopes to the current pipeline's questions when viewing a job/build.perProjectCentre— per-pipeline/per-build surfaces (sidebar page, build-history "awaiting input" badge, per-build audit view). On by default.jobPageBox— the large inline box on the job page. On by default; independently switchable so an operator can keep the badge/sidebar without the big box.tabNotificationBadge— on by default. Mirrors the viewer's pending count in the browser tab (a "(N)" title prefix and a small dot painted on top of the existing favicon) when the header bell is enabled. It never replaces the site favicon, so a custom favicon (e.g. from the Simple Theme plugin) is preserved.viewBuildCard— the Interactive View card on the build overview (experimental layout). On by default; turn off to hide the card and its top-nav tab while the dedicated review page, sidebar link and badge stay reachable.outputBuildCard— the Interactive Output card on the build page. On by default; gates both the experimental overview card and the classic summary row, while the dedicated output page stays reachable.icon— which Ionicon represents interactive input across the bell, badge and sidebar.
The authorization switches that govern who may see/answer a question
(userScopedNotifications, lockToBuildStarter) are not look-and-feel
and live under Manage Jenkins → System in InteractiveInputGlobalConfig
(unclassified.interactiveInput), per Jenkins core guidance (review item B18).
-
Nested Class Summary
Nested classes/interfaces inherited from class hudson.model.Descriptor
Descriptor.FormException, Descriptor.PropertyType, Descriptor.SelfNested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringDefault icon: a megaphone conveying "needs attention / announcement".Selectable icon stems.Fields inherited from class hudson.model.Descriptor
clazz -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanconfigure(org.kohsuke.stapler.StaplerRequest2 req, net.sf.json.JSONObject json) Populates the icon dropdown on the Appearance config page (label ⇒ stem).get()getIcon()static StringiconClassName(String iconStem) static Stringbooleanbooleanbooleanbooleanbooleanbooleanstatic booleanstatic booleanstatic booleanstatic booleanvoidvoidsetJobPageBox(boolean jobPageBox) voidsetNotificationCentre(boolean notificationCentre) voidsetOutputBuildCard(boolean outputBuildCard) voidsetPerProjectCentre(boolean perProjectCentre) voidsetTabNotificationBadge(boolean tabNotificationBadge) voidsetViewBuildCard(boolean viewBuildCard) static booleanstatic booleanMethods inherited from class jenkins.model.GlobalConfiguration
all, configure, getDescriptor, getGlobalConfigPageMethods inherited from class hudson.model.Descriptor
addHelpFileRedirect, bindJSON, bindJSON, calcAutoCompleteSettings, calcFillSettings, configure, doHelp, doHelp, find, find, findByDescribableClassName, findById, getCheckMethod, getCheckUrl, getConfigFile, getConfigPage, getCurrentDescriptorByNameUrl, getDescriptorFullUrl, getDescriptorUrl, getDisplayName, getGlobalPropertyType, getHelpFile, getHelpFile, getHelpFile, getId, getJsonSafeClassName, getKlass, getPlugin, getPossibleViewNames, getPropertyType, getPropertyType, getPropertyTypeOrDie, getRequiredGlobalConfigPagePermission, getStaticHelpUrl, getStaticHelpUrl, getT, getViewPage, isInstance, isSubTypeOf, load, newInstance, newInstance, newInstance, newInstancesFromHeteroList, newInstancesFromHeteroList, newInstancesFromHeteroList, newInstancesFromHeteroList, save, self, toArray, toList, toMap
-
Field Details
-
ICON_CHOICES
Selectable icon stems. Most are Ionicons (rendered via the-outlinevariant from ionicons-api);CUSTOM_SYMBOLSlists the ones this plugin ships itself (Ionicons has no robot glyph, sorobotis a bundled symbol undersrc/main/resources/images/symbols). -
DEFAULT_ICON
Default icon: a megaphone conveying "needs attention / announcement".- See Also:
-
-
Constructor Details
-
InteractiveInputAppearanceConfig
public InteractiveInputAppearanceConfig()
-
-
Method Details
-
get
- Returns:
- the singleton, or
nullonly if the extension is not registered (some minimal test harnesses). Callers should prefer the*Enabled/*OrDefaulthelpers.
-
getCategory
- Overrides:
getCategoryin classDescriptor<GlobalConfiguration>
-
isNotificationCentre
public boolean isNotificationCentre() -
setNotificationCentre
@DataBoundSetter public void setNotificationCentre(boolean notificationCentre) -
isPerProjectCentre
public boolean isPerProjectCentre() -
setPerProjectCentre
@DataBoundSetter public void setPerProjectCentre(boolean perProjectCentre) -
isJobPageBox
public boolean isJobPageBox() -
setJobPageBox
@DataBoundSetter public void setJobPageBox(boolean jobPageBox) -
isTabNotificationBadge
public boolean isTabNotificationBadge() -
setTabNotificationBadge
@DataBoundSetter public void setTabNotificationBadge(boolean tabNotificationBadge) -
isViewBuildCard
public boolean isViewBuildCard() -
setViewBuildCard
@DataBoundSetter public void setViewBuildCard(boolean viewBuildCard) -
isOutputBuildCard
public boolean isOutputBuildCard() -
setOutputBuildCard
@DataBoundSetter public void setOutputBuildCard(boolean outputBuildCard) -
getIcon
-
setIcon
-
getIconClassName
- Returns:
- the theme-aware Jenkins symbol class for the configured icon (via ionicons-api).
-
iconClassName
- Parameters:
iconStem- an icon stem (validated againstICON_CHOICES; unknown values fall back toDEFAULT_ICON)- Returns:
- the Jenkins symbol class rendered as an SVG:
symbol-<name> plugin-interactive-cifor plugin-shipped symbols (CUSTOM_SYMBOLS), otherwisesymbol-<name>-outline plugin-ionicons-api
-
notificationCentreEnabled
public static boolean notificationCentreEnabled()- Returns:
- whether the global notification bell should render. Off by default.
-
perProjectCentreEnabled
public static boolean perProjectCentreEnabled()- Returns:
- whether per-pipeline/per-build surfaces are enabled. On by default.
-
jobPageBoxEnabled
public static boolean jobPageBoxEnabled()- Returns:
- whether the large inline job-page box is enabled. On by default.
-
tabNotificationBadgeEnabled
public static boolean tabNotificationBadgeEnabled()- Returns:
- whether the browser-tab pending badge (title + favicon dot) is enabled. On by default.
-
viewBuildCardEnabled
public static boolean viewBuildCardEnabled()- Returns:
- whether the Interactive View card on the build overview is enabled. On by default.
-
outputBuildCardEnabled
public static boolean outputBuildCardEnabled()- Returns:
- whether the Interactive Output card on the build page is enabled. On by default.
-
iconClassNameOrDefault
- Returns:
- the configured icon's symbol class, or the default's when unconfigured.
-
doFillIconItems
Populates the icon dropdown on the Appearance config page (label ⇒ stem).@POSTfor the Security Scan CSRF check;Jenkins.ADMINISTERbecause this page is overall config. -
configure
public boolean configure(org.kohsuke.stapler.StaplerRequest2 req, net.sf.json.JSONObject json) throws Descriptor.FormException - Overrides:
configurein classGlobalConfiguration- Throws:
Descriptor.FormException
-