Class ResultAction

java.lang.Object
io.jenkins.plugins.analysis.core.model.ResultAction
All Implemented Interfaces:
Action, HealthReportingAction, ModelObject, Serializable, RunAction2, SimpleBuildStep.LastBuildAction, org.kohsuke.stapler.StaplerProxy

public class ResultAction extends Object implements HealthReportingAction, SimpleBuildStep.LastBuildAction, RunAction2, org.kohsuke.stapler.StaplerProxy, Serializable
Controls the life cycle of the analysis results in a job. This action persists the results of a build and displays a summary on the build page. The actual visualization of the results is defined in the matching summary.jelly file. This action also provides access to the static analysis details: these are rendered using a new IssuesDetail instance.
Author:
Ullrich Hafner
See Also:
  • Constructor Details

    • ResultAction

      public ResultAction(Run<?,?> owner, AnalysisResult result, HealthDescriptor healthDescriptor, String id, String name, Charset charset)
      Creates a new instance of ResultAction.
      Parameters:
      owner - the associated build/run that created the static analysis result
      result - the result of the static analysis run
      healthDescriptor - the health descriptor of the static analysis run
      id - the ID of the results
      name - the optional name of the results
      charset - the charset to use to display source files
    • ResultAction

      public ResultAction(Run<?,?> owner, AnalysisResult result, HealthDescriptor healthDescriptor, String id, String name, Charset charset, TrendChartType trendChartType)
      Creates a new instance of ResultAction.
      Parameters:
      owner - the associated build/run that created the static analysis result
      result - the result of the static analysis run
      healthDescriptor - the health descriptor of the static analysis run
      id - the ID of the results
      name - the optional name of the results
      charset - the charset to use to display source files
      trendChartType - determines if the trend chart will be shown
  • Method Details

    • readResolve

      protected Object readResolve()
      Called after de-serialization to retain backward compatibility.
      Returns:
      this
    • getId

      public String getId()
      Returns the ID (and URL) of this action.
      Returns:
      the ID
    • getQualityGateResult

      public io.jenkins.plugins.util.QualityGateResult getQualityGateResult()
    • getName

      public String getName()
      Returns the name of the static analysis tool.
      Returns:
      the ID
    • getOwner

      public Run<?,?> getOwner()
      Returns the associated build/run that created the static analysis result.
      Returns:
      the run
    • createBuildHistory

      public History createBuildHistory()
      Returns the build history for this action.
      Returns:
      the history
    • onAttached

      public void onAttached(Run<?,?> r)
      Specified by:
      onAttached in interface RunAction2
    • onLoad

      public void onLoad(Run<?,?> r)
      Specified by:
      onLoad in interface RunAction2
    • getDisplayName

      public String getDisplayName()
      Specified by:
      getDisplayName in interface Action
      Specified by:
      getDisplayName in interface ModelObject
    • getUrlName

      public String getUrlName()
      Specified by:
      getUrlName in interface Action
    • getRelativeUrl

      public String getRelativeUrl()
      Returns the URL of this action, relative to the context root of Jenkins.
      Returns:
      the relative URL, like job/foo/32/analysis/
    • getAbsoluteUrl

      public String getAbsoluteUrl()
      Gets the absolute path to the build from the owner. This is needed for testing due to Run.getAbsoluteUrl() being final and therefore not mockable.
      Returns:
      the absolute url to the job
    • getBuildHealth

      @CheckForNull public HealthReport getBuildHealth()
      Specified by:
      getBuildHealth in interface HealthReportingAction
    • getProjectActions

      public Collection<? extends Action> getProjectActions()
      Specified by:
      getProjectActions in interface SimpleBuildStep.LastBuildAction
    • getResult

      public AnalysisResult getResult()
    • getIconFileName

      public String getIconFileName()
      Specified by:
      getIconFileName in interface Action
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • hasLargeImage

      public boolean hasLargeImage()
      Returns whether a large image is defined.
      Returns:
      true if a large image is defined, false otherwise
    • getLargeImageName

      public String getLargeImageName()
      Returns the URL of the 48x48 image used in the build summary.
      Returns:
      the URL of the image
    • getSmallImageName

      public String getSmallImageName()
      Returns the URL of the 24x24 image used in the build link.
      Returns:
      the URL of the image
    • getSmallImage

      public String getSmallImage()
      Returns the URL of the 24x24 image used in the build link.
      Returns:
      the URL of the image
    • getSummaryModel

      public SummaryModel getSummaryModel()
      Returns the model for the summary of the static analysis run. This model is used as input in the 'summary.jelly' view.
      Returns:
      model to build the summary message on the client side
    • isSuccessful

      public boolean isSuccessful()
      Returns whether the static analysis result is considered successfully with respect to the evaluated quality gates.
      Returns:
      true if the result is successful, false if the result has been set to Result.UNSTABLE or Result.FAILURE.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getLabelProvider

      public StaticAnalysisLabelProvider getLabelProvider()
      Returns the StaticAnalysisLabelProvider for this action.
      Returns:
      the label provider for this tool
    • getTarget

      public IssuesDetail getTarget()
      Returns the detail view for issues for all Stapler requests.
      Specified by:
      getTarget in interface org.kohsuke.stapler.StaplerProxy
      Returns:
      the detail view for issues
    • resetReference

      @JavaScriptMethod public String resetReference()
      Empty method as workaround for Stapler bug: JavaScript method in target object is not found.
      Returns:
      unused string (since Firefox requires that Ajax calls return something)