Class InteractiveOutputJobAction
java.lang.Object
io.jenkins.plugins.interactiveinput.output.InteractiveOutputJobAction
- All Implemented Interfaces:
Action,ModelObject
Per-job "Interactive Output" trend surface. Iterates the job's builds, reads each build's persisted
InteractiveOutputBuildAction, and assembles a compact JSON model (build labels + one numeric
series per metric key) that output.js renders as a theme-aware ECharts line chart.
Attached to every Job by InteractiveOutputJobAction.Factory when the per-project surfaces feature is on; the
sidebar link only appears when at least one build actually published output (so it is never permanent
clutter). All heavy lifting (reading builds) is bounded to the most recent MAX_BUILDS.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classA single per-report chart model exposed toindex.jelly/output.js.static classAttachesInteractiveOutputJobActionto every job when the per-project centre is enabled. -
Field Summary
Fields -
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
Stable URL segment under the job (e.g./job/foo/interactive-output/).- See Also:
-
-
Constructor Details
-
InteractiveOutputJobAction
-
-
Method Details
-
getJob
-
getObject
- Returns:
- the owning job. Required by core's
l:job-subpage(it.object).
-
getJobFullName
-
getLatestRun
- Returns:
- the most recent build (newest first) that published a non-empty output action, or
nullif none has. Used to show "latest values" cards on the job page.
-
getLatestReports
- Returns:
- the latest build's reports (newest first), or an empty list if none published output.
-
isHasAnyOutput
public boolean isHasAnyOutput()- Returns:
trueif any scanned build published output at all (drives the sidebar link).
-
isHasTrend
public boolean isHasTrend()- Returns:
trueif at least one numeric series exists to plot.
-
isHasCharts
public boolean isHasCharts()- Returns:
trueif there is at least one renderable per-report chart.
-
getCharts
- Returns:
- one chart model per report (in first-appearance order) for the per-job page. A report's
line/barchart is its numeric series across the recent builds; apiechart is the latest build's numeric metrics as slices; atimeserieschart is the latest build's date-labelled metrics as points sorted by date. Reports with no plottable data are omitted. EachInteractiveOutputJobAction.Chartcarries the JSONoutput.jsrenders.
-
getTrendJson
- Returns:
- the trend model as a JSON string:
{"builds":[...],"urls":[...], "series":[{"name":..,"data":[num|null,..]}]}. Consumed byoutput.js; empty series are omitted. Values are aligned tobuilds(null where a build did not report that key).
-
getIconFileName
- Specified by:
getIconFileNamein interfaceAction
-
getDisplayName
- Specified by:
getDisplayNamein interfaceAction- Specified by:
getDisplayNamein interfaceModelObject
-
getUrlName
- Specified by:
getUrlNamein interfaceAction
-