Interface SpecsConsumer

All Known Implementing Classes:
RssJointSpecsConsumer

@ExperimentalApi public interface SpecsConsumer
Consumer used for importing Specs execution results
  • Method Details

    • importPlanProperties

      void importPlanProperties(@NotNull @NotNull SpecsConsumer.PlanPropertiesSupplier topLevelPlanPropertiesSupplier, @NotNull @NotNull RssPermissions rssPermissions, @NotNull @NotNull VcsRepositoryData vcsRepositoryData, @NotNull @NotNull List<CommitContext> commits, @NotNull @NotNull com.atlassian.utils.process.OutputHandler stdout, @NotNull @NotNull SpecsType specsType, boolean noChangesInPlanProperties)
      Import plan properties
    • importPlanPermissions

      void importPlanPermissions(@NotNull @NotNull RssPermissions rssPermissions, @NotNull @NotNull com.atlassian.bamboo.specs.api.model.permission.PlanPermissionsProperties planPermissions)
      Import plan permission properties
    • importDeploymentProperties

      void importDeploymentProperties(@NotNull @NotNull com.atlassian.bamboo.specs.api.model.deployment.DeploymentProperties deploymentProperties, @NotNull @NotNull RssPermissions rssPermissions, boolean noChangesInProperties)
      Import deployment properties
    • importDeploymentPermissions

      void importDeploymentPermissions(@NotNull @NotNull com.atlassian.bamboo.specs.api.model.permission.DeploymentPermissionsProperties deploymentPermissions, @NotNull @NotNull RssPermissions rssPermissions)
      Import deployment permission properties
    • importEnvironmentPermissions

      void importEnvironmentPermissions(@NotNull @NotNull com.atlassian.bamboo.specs.api.model.permission.EnvironmentPermissionsProperties environmentPermissions, @NotNull @NotNull RssPermissions rssPermissions)
      Import environment permission properties
    • importEnvironmentPermissions

      void importEnvironmentPermissions(@NotNull @NotNull String deploymentName, @NotNull @NotNull com.atlassian.bamboo.specs.api.model.BambooOidProperties deploymentOid, @NotNull @NotNull List<com.atlassian.bamboo.specs.api.model.permission.EnvironmentPermissionsProperties> environmentsPermissions, @NotNull @NotNull com.atlassian.bamboo.specs.api.model.permission.PermissionsProperties defaultEnvironmentPermissions, @NotNull @NotNull RssPermissions rssPermissions)
      Bulk import environment permission properties
    • importProjectProperties

      void importProjectProperties(@NotNull @NotNull com.atlassian.bamboo.specs.api.model.project.ProjectProperties projectProperties, @NotNull @NotNull RssPermissions rssPermissions, boolean noChangesInPlanProperties)
      Import project properties
    • importProjectPermissions

      void importProjectPermissions(@NotNull @NotNull com.atlassian.bamboo.specs.api.model.permission.ProjectPermissionsProperties projectPermissions, @NotNull @NotNull RssPermissions rssPermissions)
      Import project permission properties
    • processSpecsDirectoryRemoval

      boolean processSpecsDirectoryRemoval(@NotNull @NotNull VcsRepositoryData repository, @NotNull @NotNull VcsLocationBambooSpecsState specsState, @NotNull @NotNull List<CommitContext> commits, @NotNull @NotNull RssPermissions rssPermissions, @NotNull @NotNull com.atlassian.utils.process.OutputHandler stdout, @NotNull @NotNull String logFilename)
      Handle situation where no Specs have been found in the repository (for the current revision)
    • onSpecsRevisionNotFound

      void onSpecsRevisionNotFound()
      Handle the state when there's no revision that contains specs on the repository branch.
    • onError

      void onError(@NotNull @NotNull VcsRepositoryData vcsRepositoryData, @NotNull @NotNull List<CommitContext> commits, @NotNull @NotNull VcsBambooSpecsSource specsSource, @NotNull @NotNull RssPermissions rssPermissions, @NotNull @NotNull com.atlassian.utils.process.OutputHandler stdout, @NotNull @NotNull Throwable throwable, @NotNull @NotNull String logFilename)
      Handle problem with specs import
    • onYamlValidationError

      void onYamlValidationError(@NotNull @NotNull VcsRepositoryData vcsRepositoryData, @NotNull @NotNull List<CommitContext> commits, @NotNull @NotNull VcsBambooSpecsSource specsSource, @NotNull @NotNull RssPermissions rssPermissions, @NotNull @NotNull com.atlassian.utils.process.OutputHandler stdout, @NotNull @NotNull Exception throwable, @NotNull @NotNull String logFilename)
      Handle problem with yaml validation
    • onSuccess

      void onSuccess(@NotNull @NotNull VcsRepositoryData vcsRepositoryData, @NotNull @NotNull List<CommitContext> commits, @NotNull @NotNull VcsLocationBambooSpecsState specsState, @NotNull @NotNull RssPermissions rssPermissions, @NotNull @NotNull VcsLocationBambooSpecsState bambooSpecsState, @NotNull @NotNull com.atlassian.utils.process.OutputHandler stdout, @NotNull @NotNull String logFilename)
      Handle specs execution success
    • mergeConsumers

      SpecsConsumer mergeConsumers(@NotNull @NotNull SpecsConsumer other)
      Merge this consumer with another one, creating consumer that will create/update all affected objects exactly once.