Class AsyncTrendJobAction<T extends io.jenkins.plugins.util.BuildAction<?>>

java.lang.Object
io.jenkins.plugins.util.JobAction<T>
io.jenkins.plugins.echarts.AsyncTrendJobAction<T>
Type Parameters:
T - type of the results
All Implemented Interfaces:
Action, ModelObject, AsyncTrendChart
Direct Known Subclasses:
AsyncConfigurableTrendJobAction

public abstract class AsyncTrendJobAction<T extends io.jenkins.plugins.util.BuildAction<?>> extends io.jenkins.plugins.util.JobAction<T> implements AsyncTrendChart
A job action displays a link on the side panel of a job that refers to the last build that contains results (i.e., a BuildAction with a corresponding result). This action also is responsible to render the historical trend via its associated 'floatingBox.jelly' view. ECharts will render the trend chart: the model of the chart will be obtained using an asynchronous Ajax call.
Author:
Ullrich Hafner
  • Constructor Details

    • AsyncTrendJobAction

      protected AsyncTrendJobAction(Job<?,?> owner, Class<T> buildActionClass)
      Creates a new instance of AsyncTrendJobAction.
      Parameters:
      owner - the job that owns this action
      buildActionClass - the type of the action to find
  • Method Details

    • getBuildTrendModel

      @JavaScriptMethod public String getBuildTrendModel()
      Description copied from interface: AsyncTrendChart
      Returns the UI model for an ECharts chart that shows the build trend. The model has to be a JSON representation of a corresponding LinesChartModel instance, that will be inserted into the client side model of the corresponding ECharts instance.
      Specified by:
      getBuildTrendModel in interface AsyncTrendChart
      Returns:
      the UI model as JSON
      See Also:
    • isTrendVisible

      public boolean isTrendVisible()
      This default implementation checks whether there are at least two build results available. Override if this behavior does not make sense in your job action.
      Specified by:
      isTrendVisible in interface AsyncTrendChart
      Returns:
      true if there are at least two results, false otherwise
    • createChartModel

      protected abstract edu.hm.hafner.echarts.LinesChartModel createChartModel()
      Creates the model of the trend chart. The returned model will be converted to JSON and inserted into the client side model of the corresponding ECharts instance.
      Returns:
      the model of the trend chart
      See Also:
      • for details on how to construct such a model
    • createBuildHistory

      protected Iterable<? extends edu.hm.hafner.echarts.BuildResult<T>> createBuildHistory()