Class RemoteTriggerDefinitionExporter

java.lang.Object
com.atlassian.bamboo.trigger.exporters.RemoteTriggerDefinitionExporter
All Implemented Interfaces:
TriggerDefinitionExporter

public class RemoteTriggerDefinitionExporter extends Object implements TriggerDefinitionExporter
  • Constructor Details

    • RemoteTriggerDefinitionExporter

      public RemoteTriggerDefinitionExporter()
  • Method Details

    • toTriggerConfiguration

      @NotNull public @NotNull Map<String,String> toTriggerConfiguration(@NotNull @NotNull com.atlassian.bamboo.specs.api.model.trigger.TriggerProperties triggerProperties, @NotNull @NotNull Triggerable triggerable)
      Returns custom trigger configuration. All TriggerProperties properties and RepositoryBasedTriggerProperties properties are handled by "the framework".
      Specified by:
      toTriggerConfiguration in interface TriggerDefinitionExporter
      Returns:
      trigger configuration
    • toSpecsEntity

      @NotNull public @NotNull com.atlassian.bamboo.specs.builders.trigger.RemoteTrigger toSpecsEntity(@NotNull @NotNull TriggerDefinition triggerDefinition)
      This method receives and TriggerDefinition. All properties of should already be copied from TriggerDefinition. This method returns RemoteTriggerProperties with common properties from AnyTrigger and custom properties from TriggerDefinition
      Specified by:
      toSpecsEntity in interface TriggerDefinitionExporter
    • validate

      public List<com.atlassian.bamboo.specs.api.validators.common.ValidationProblem> validate(@NotNull @NotNull TriggerValidationContext triggerValidationContext, @NotNull @NotNull com.atlassian.bamboo.specs.api.model.trigger.TriggerProperties triggerProperties)
      Description copied from interface: TriggerDefinitionExporter
      Validates trigger properties in context of enclosing plan or deployment properties. Should check for any inconsistencies between trigger definition and the rest of plan or deployment content, as it is provided in the validation context. Returns list of validation errors or empty if everything is ok.

      Should check RSS permissions if necessary.

      Specified by:
      validate in interface TriggerDefinitionExporter
    • toYaml

      @Nullable public <T extends com.atlassian.bamboo.specs.api.model.trigger.TriggerProperties> @Nullable Node toYaml(@NotNull T triggerProperties)
      Description copied from interface: TriggerDefinitionExporter
      Convert trigger definition to YAML node. Bamboo might modify returned node to add information about trigger conditions or other general trigger settings. To make it compatible with future versions returned value should be StringNode or MapNode (String, Map). Structure MapNode (String, String) can't be enriched with additional elements and cause runtime failures for some cases.
      Specified by:
      toYaml in interface TriggerDefinitionExporter
      Returns:
      YAML representation of the trigger.
    • fromYaml

      @Nullable public @Nullable com.atlassian.bamboo.specs.builders.trigger.RemoteTrigger fromYaml(@NotNull @NotNull Node node, @NotNull @NotNull TaskValidationContext context) throws YamlSpecsValidationException
      Description copied from interface: TriggerDefinitionExporter
      Parse YAML node to Trigger Specs builder.
      Specified by:
      fromYaml in interface TriggerDefinitionExporter
      Parameters:
      node - YAML node from user input. In general case it's same node generated by TriggerDefinitionExporter.toYaml(TriggerProperties) method, but in some cases it might contain additional trigger elements, like conditions. These elements should be ignored by method implementation and will be handled by Bamboo code. In such case MapNode handler should be implemented even if TriggerDefinitionExporter.toYaml(TriggerProperties) produces StringNode.
      context - task validation context
      Throws:
      YamlSpecsValidationException