Class InteractiveViewRunTab
java.lang.Object
jenkins.model.Tab
io.jenkins.plugins.interactiveinput.ui.InteractiveViewRunTab
- All Implemented Interfaces:
Action,ModelObject,Badgeable
Native "Interactive View" card for the experimental run overview — the review counterpart of
InteractiveOutputRunTab. Rendered by core's jenkins/run/OverviewTab/index.jelly, which
iterates Run#getRunTabs() and includes each Tab's widget.jelly on the overview
grid. It shows a compact, server-rendered "mini" of the build's interactive-view/ page (the
list of reviews, each with its status and comment count), so reviewers see the reviews at a glance
without opening the dedicated page.
This tab is only visible when the viewer has the experimental build page enabled AND has at
least one readable review on this build (getIconFileName() returns null otherwise, and
getRunTabs() filters out null-icon tabs), so the classic layout is untouched and the persisted
InteractiveViewRunAction keeps serving its own sidebar link / overflow entry there.
The tab's getUrlName() matches InteractiveViewRunAction so the experimental tab
bar stays on the same URL as the sidepanel action. This tab is widget-only: the action's
index.jelly (l:run-subpage) serves the page. getBadge() supplies the open
review count on the tab bar.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAttaches the tab to any build that has review documents (same gate asInteractiveViewRunAction).static final classA report group prepared forwidget.jelly: the report name, its reviews, and whether the report-name heading adds information — so the template needs no list-size or element logic. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringSame URL segment asInteractiveViewRunActionso the tab bar stays on the action page. -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface hudson.model.Action
getDescription, getEvent, getGroup, getSemantic, isVisibleInContextMenu
-
Field Details
-
URL_NAME
Same URL segment asInteractiveViewRunActionso the tab bar stays on the action page.- See Also:
-
-
Constructor Details
-
InteractiveViewRunTab
-
-
Method Details
-
getRun
-
getJobFullName
-
getBuildNumber
public int getBuildNumber() -
getReviews
- Returns:
- the reviews for this build the current viewer may read (any status). Queries the
ViewStoredirectly rather thanrun.getAction(...): the view action is a transient action, so it is absent from the persisted list, andgetAllActions()would re-run everyTransientActionFactory(recursing into this tab's own factory).
-
getReviewGroups
- Returns:
- this build's readable reviews grouped by report name, preserving order via a
LinkedHashMapso the card can render a section per report/folder — mirroringInteractiveViewJobAction.getReviewGroups()but scoped to this build.
-
getOverviewGroups
- Returns:
- the review groups prepared for the compact card. Wraps
getReviewGroups()and precomputes, per group, whether its report-name heading should render — done here (not in the Jelly view) so the rule is unit-testable andwidget.jellyneeds no list-size / element logic. The heading is suppressed only when it would merely duplicate a lone file whose title is just the report name (the row already shows that title) — the common single-file publish, whereInteractiveViewStepExecutiondefaults an unsettitleto thereportName. Multi-file (glob/dir) groups and custom titles keep it.
-
getIconClassName
- Returns:
- the theme-aware review symbol (for
<l:icon>in the card).
-
getIconFileName
-
getDisplayName
-
getUrlName
-
getPendingCount
public int getPendingCount()- Returns:
- OPEN, notify-enabled reviews on this build the current viewer should act on (0 on any store error).
-
getBadge
- Returns:
- a numeric DANGER badge while this build has open reviews the current viewer should act
on;
nullat zero. Core shows this on the experimental tab bar.
-