Class InteractiveInputRunAction

java.lang.Object
io.jenkins.plugins.interactiveinput.ui.InteractiveInputRunAction
All Implemented Interfaces:
Action, BuildBadgeAction, ModelObject, Badgeable

public class InteractiveInputRunAction extends Object implements BuildBadgeAction, Badgeable
Per-build notification + audit surface (§per-project surfaces). Attached to a Run by InteractiveInputRunAction.Factory only when that build has interactive-input questions recorded in the store.

As a BuildBadgeAction its badge.jelly renders an "awaiting input" marker in the build-history list while the build is waiting (core's Run#getBadgeActions() includes transient actions — verified against Actionable#getActions(Class)). Its index.jelly is the per-build audit view (reached from the build's left-sidebar link and from the anchored console link), showing what was asked and what was chosen.

Audit data is read live from the QuestionStore; the durable record is the build console line written by the step. After retention compaction the store no longer holds settled questions, so the audit page shows an empty state and defers to the console line (documented trade-off).

  • Field Details

    • URL_NAME

      public static final String URL_NAME
      Stable URL segment under the run (e.g. /job/foo/3/interactive-input/).
      See Also:
  • Constructor Details

    • InteractiveInputRunAction

      public InteractiveInputRunAction(@NonNull Run<?,?> run)
  • Method Details

    • getIconClassName

      @NonNull public String getIconClassName()
      Returns:
      the theme-aware symbol class for the configured notification icon.
    • getRun

      @NonNull public Run<?,?> getRun()
    • getObject

      @NonNull public Run<?,?> getObject()
      Returns:
      the owning run. Required by core's l:run-subpage (it.object).
    • getJobFullName

      @NonNull public String getJobFullName()
    • getBuildNumber

      public int getBuildNumber()
    • isWaiting

      public boolean isWaiting()
      Returns:
      true while this build has a WAITING question the current viewer should be notified of (drives the history badge, honouring the user-scope and lock switches).
    • getPendingCount

      public int getPendingCount()
      Returns:
      WAITING questions on this build the current viewer should act on (0 on any store error), honouring the user-scope switch. Surfaces as getBadge() on the classic sidebar and experimental tab bar.
    • getPollingIntervalSeconds

      public int getPollingIntervalSeconds()
    • isRichModalEnabled

      public boolean isRichModalEnabled()
    • isRunAlertEnabled

      public boolean isRunAlertEnabled()
      Returns:
      whether this build's job opted in to the run-page attention indicator (B5) via the per-pipeline "alert user on run page" property in Configure. Gates the summary row only; the auto-open dialog is independent of this and governed by the System setting.
    • isClassicSummaryVisible

      public boolean isClassicSummaryVisible()
      Returns:
      whether the classic summary.jelly attention row should render. Suppressed under the experimental build page, where the prompt is shown natively by InteractiveInputRunTab (avoiding a duplicate inside core's "Legacy" card).
    • getIconFileName

      @CheckForNull public String getIconFileName()
      Specified by:
      getIconFileName in interface Action
    • getDisplayName

      @NonNull public String getDisplayName()
      Specified by:
      getDisplayName in interface Action
      Specified by:
      getDisplayName in interface ModelObject
    • getBadge

      @CheckForNull public Badge getBadge()
      Specified by:
      getBadge in interface Badgeable
      Returns:
      a numeric DANGER badge while this build has pending questions the current viewer should act on; null at zero.
    • getUrlName

      @NonNull public String getUrlName()
      Specified by:
      getUrlName in interface Action