Interface ImmutableChain

All Superinterfaces:
BambooIdProvider, DescriptionProvider, ImmutableDeletable, ImmutableEntityWithOid, ImmutablePlan, NameProvider, PlanIdentifier, PlanKeyProvider, Triggerable, Versionable
All Known Subinterfaces:
Chain, ChainBranch, ImmutableChainBranch, ImmutableTopLevelPlan, TopLevelPlan
All Known Implementing Classes:
AbstractChain, AbstractImmutableChain, ChainBranchImpl, DefaultChain, ImmutableChainBranchImpl, ImmutableChainImpl

public interface ImmutableChain extends ImmutablePlan, Triggerable
Represents a Chain that is immutable. Since 3.4, all new uses of Chains should prefer this interface to improve cacheability.
Since:
v3.4
  • Method Details

    • getMaster

      @Nullable @Nullable ImmutableChain getMaster()
      Description copied from interface: ImmutablePlan
      Return the master plan if one exists. The master is the plan which this one is derived from. Configuration is pulled from the master if one exists.
      Specified by:
      getMaster in interface ImmutablePlan
      Returns:
      the master Plan if one exists.
    • getNotificationSet

      NotificationSet getNotificationSet()
      Get notifications defined for this plan.
      Returns:
      NotificationSet containing notifications for this plan.
    • getStages

      @NotNull @NotNull List<? extends ImmutableChainStage> getStages()
      Get Stages of the chain.

      Note that this excludes ChainStages that have been marked for deletion

      Returns:
      stages
    • getAllStages

      @NotNull @NotNull List<? extends ImmutableChainStage> getAllStages()
      Get Stages of the Chain

      Note that this includes ChainStages that have been marked for deletion

      Returns:
      stages
    • containsStage

      boolean containsStage(@Nullable @Nullable String stageName)
      Checks whether or not a stage exists in this chain by stage name.
      Parameters:
      stageName - to check for
      Returns:
      true if a stage with the given name exists, otherwise false
    • getJobCount

      int getJobCount()
      Note: Does not include Jobs that are marked for deletion.
      Returns:
      how many Jobs are currently contained within this chain
    • getAllJobs

      @NotNull @NotNull List<? extends ImmutableJob> getAllJobs()
      Note: Does not include Jobs that are marked for deletion.
      Returns:
      a list of all Jobs that are currently contained within this chain - no order guaranteed.
    • getPlanRepositoryDefinitions

      @NotNull @NotNull List<PlanRepositoryDefinition> getPlanRepositoryDefinitions()
      Return list of repositories available to the chain. In case of non-master object it will return list of master's repository definitions with default repository overridden by a private copy of default repository.
      Returns:
      ordered List of repositories available to this plan
    • getLastResultKey

      @Nullable @Nullable PlanResultKey getLastResultKey()
      Get the latest result key including active (not finished) results
      Returns:
      The key of the last build. Returns null if there are no build results for this plan
    • getEntityType

      default BambooEntityType getEntityType()
      Description copied from interface: ImmutableEntityWithOid
      Entity type of this object, used in BambooEntityOid.
      Specified by:
      getEntityType in interface ImmutableEntityWithOid
    • getStorageTag

      ChainStorageTag getStorageTag()
    • getVcsBambooSpecsSource

      @Nullable @Nullable ImmutableVcsBambooSpecsSource getVcsBambooSpecsSource()
      Returns:
      specs source used to manage this plan, or null if plan is not managed by RSS
    • getCreationDate

      @NotNull @NotNull Date getCreationDate()
      Returns:
      chain creation date
      Since:
      6.5