Class InvestigationAction
java.lang.Object
io.jenkins.plugins.changeinvestigator.InvestigationAction
- All Implemented Interfaces:
Action,ModelObject,RunAction2,org.kohsuke.stapler.StaplerProxy
public class InvestigationAction
extends Object
implements RunAction2, org.kohsuke.stapler.StaplerProxy
The "Build Change Investigation" action attached to failed/unstable/aborted builds.
Deterministic evidence is collected once, at build completion, and never
requires an AI call. aiAssessment starts null ("not yet run") and is only
populated by an explicit manual request or an opted-in Slack investigation. Simply viewing
a build page never causes an outbound AI request. The result is cached on the action (and
persisted with the build) so revisiting the page does not re-trigger analysis.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classOne immutable rendering snapshot; no instance is stored with the build. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleancanRunAi()voiddoRunAi(org.kohsuke.stapler.StaplerResponse2 rsp) Explicit manual analysis may rerun a completed assessment, but joins existing work for the same scope.Historical assessments describe the original full corpus until explicitly rerun.Run<?, ?> getRun()Validate page requests before Jelly rendering, without exposing a state-changing web method.getView()booleanbooleanWhether an explicitly requested analysis is running; observing this never starts a request.booleanvoidonAttached(Run<?, ?> r) voidbooleanStarts or joins one analysis for an opted-in Slack investigation; never called by page rendering.
-
Constructor Details
-
InvestigationAction
-
-
Method Details
-
getTarget
Validate page requests before Jelly rendering, without exposing a state-changing web method.- Specified by:
getTargetin interfaceorg.kohsuke.stapler.StaplerProxy
-
getView
-
getComparisonBuilds
-
onAttached
- Specified by:
onAttachedin interfaceRunAction2
-
onLoad
- Specified by:
onLoadin interfaceRunAction2
-
getRun
-
getIconFileName
- Specified by:
getIconFileNamein interfaceAction
-
getDisplayName
- Specified by:
getDisplayNamein interfaceAction- Specified by:
getDisplayNamein interfaceModelObject
-
getUrlName
- Specified by:
getUrlNamein interfaceAction
-
getEvidence
-
getAiReferences
-
getAiPresentation
-
getAiScope
Historical assessments describe the original full corpus until explicitly rerun. -
getAiAssessment
-
isAiAnalysisRunning
public boolean isAiAnalysisRunning()Whether an explicitly requested analysis is running; observing this never starts a request. -
hasAiAssessment
public boolean hasAiAssessment() -
isAiEnabledGlobally
public boolean isAiEnabledGlobally() -
canRunAi
public boolean canRunAi() -
startSlackAiAnalysis
public boolean startSlackAiAnalysis()Starts or joins one analysis for an opted-in Slack investigation; never called by page rendering. -
doRunAi
Explicit manual analysis may rerun a completed assessment, but joins existing work for the same scope.- Throws:
IOException
-