Interface BuildDefinition

All Superinterfaces:
PartialBuildDefinition
All Known Implementing Classes:
DefaultBuildDefinition, PartialBuildDefinitionImpl

public interface BuildDefinition extends PartialBuildDefinition
Each build has a BuildDefinition. This class encapsulate the configuration aspects of a build. What the actual builds look like? What should be executed?
  • Method Details

    • getTriggerDefinitions

      @Nullable @Nullable List<TriggerDefinition> getTriggerDefinitions()
      Definitions of all automatic build triggers defined for this build. If this list is empty, Plan is only triggered manually or through dependencies.
      Specified by:
      getTriggerDefinitions in interface PartialBuildDefinition
      Returns:
      immutable list of defined triggers
    • setTriggerDefinitions

      void setTriggerDefinitions(@Nullable @Nullable List<TriggerDefinition> triggerDefinitions)
      Replace existing list of triggers with a new one. Setting null indicates that triggerDefinitions should be inherited from master chain.
      Parameters:
      triggerDefinitions - List of TriggerDefinition
    • getBranchMonitoringConfiguration

      @NotNull @NotNull BranchMonitoringConfiguration getBranchMonitoringConfiguration()
      Returns the current branch monitoring configuration of a build plan. This configuration includes all plan branches settings, as if plan branch creation and plan branch cleanup are enabled, for instance.
      Specified by:
      getBranchMonitoringConfiguration in interface PartialBuildDefinition
      Returns:
      BranchMonitoringConfiguration
    • setBranchMonitoringConfiguration

      void setBranchMonitoringConfiguration(@Nullable @Nullable BranchMonitoringConfiguration branchMonitoringConfiguration)
    • getBranchIntegrationConfiguration

      @NotNull @NotNull BranchIntegrationConfiguration getBranchIntegrationConfiguration()
      Returns ChainBranch integration strategy settings, including the branch to merge with, and... //todo
      Specified by:
      getBranchIntegrationConfiguration in interface PartialBuildDefinition
      Returns:
      current BranchIntegrationConfiguration
    • setBranchIntegrationConfiguration

      void setBranchIntegrationConfiguration(BranchIntegrationConfiguration branchIntegrationConfiguration)
    • getBranchSpecificConfiguration

      @NotNull @NotNull BranchSpecificConfiguration getBranchSpecificConfiguration()
      Returns any configuration that is specific to a branch plan, and not so relevant for a normal plan.
      Specified by:
      getBranchSpecificConfiguration in interface PartialBuildDefinition
      Returns:
    • setBranchSpecificConfiguration

      void setBranchSpecificConfiguration(BranchSpecificConfiguration branchSpecificConfiguration)
    • getCustomConfiguration

      @NotNull @NotNull Map<String,String> getCustomConfiguration()
      /**
      Specified by:
      getCustomConfiguration in interface PartialBuildDefinition
      Returns:
      a map consisting of String key and String value pairs. This is where fields which start with "custom" (eg. custom.test.id) go to
    • setCustomConfiguration

      void setCustomConfiguration(@NotNull @NotNull Map<String,String> configMap)
      A map of String key and String value pairs, representing custom
      Parameters:
      configMap - - can be null
    • getConfigObjects

      @NotNull @NotNull Map<String,Object> getConfigObjects()
      Returns a map of objects generated by the plugins. Each plugin is responsible for populating this list, so there's no final guarantee that a key is unique.
      Specified by:
      getConfigObjects in interface PartialBuildDefinition
      Returns:
      A Map with a String as a key and an arbitrary objects as the value.
    • setConfigObjects

      void setConfigObjects(@NotNull @NotNull Map<String,Object> configObjects)
    • getTaskDefinitions

      @NotNull @NotNull List<TaskDefinition> getTaskDefinitions()
      All tasks defined for this build. Contains both regular tasks and finalising tasks.
      Specified by:
      getTaskDefinitions in interface PartialBuildDefinition
      Returns:
      A List of TaskDefinitions
    • setTaskDefinitions

      void setTaskDefinitions(@NotNull @NotNull List<TaskDefinition> taskDefinitions)
    • isCleanWorkingDirectory

      @NotNull @NotNull Boolean isCleanWorkingDirectory()
      Should the working directory be cleaned after build.
      Specified by:
      isCleanWorkingDirectory in interface PartialBuildDefinition
      Returns:
      cleanWorkingDirectory
    • setCleanWorkingDirectory

      void setCleanWorkingDirectory(boolean cleanWorkingDirectory)
      Set the working directory be cleaned or not cleaned after build
      Parameters:
      cleanWorkingDirectory -
    • getRepositoryIdDefiningWorkingDir

      @NotNull @NotNull Long getRepositoryIdDefiningWorkingDir()
      Specified by:
      getRepositoryIdDefiningWorkingDir in interface PartialBuildDefinition
    • setRepositoryIdDefiningWorkingDir

      void setRepositoryIdDefiningWorkingDir(long repositoryDefininingWorkingDir)
    • setMerged

      void setMerged(boolean value)
      Set whether or not this BuildDefinition has been merged from multiple sources. Merged definitions will not be persisted.
      Parameters:
      value - true if merged
    • isValidValue

      boolean isValidValue(@Nullable @Nullable Object validValue)
      Whether or not a given object is a valid value for this BuildDefinition. For example, PartialBuildDefintions accept nulls.
      Parameters:
      validValue -
      Returns:
    • getDockerPipelineConfiguration

      @NotNull @NotNull DockerPipelineConfiguration getDockerPipelineConfiguration()
      Set Docker pipeline configuration for a particular buildable.
      Specified by:
      getDockerPipelineConfiguration in interface PartialBuildDefinition
    • setDockerPipelineConfiguration

      void setDockerPipelineConfiguration(@NotNull @NotNull DockerPipelineConfiguration dockerPipelineConfiguration)
      Replace Docker pipeline configuration for this buildable with a different one.