Interface TriggerDefinitionExporter

    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      default <T extends com.atlassian.bamboo.specs.api.builders.trigger.Trigger<T,​P>,​P extends com.atlassian.bamboo.specs.api.model.trigger.TriggerProperties>
      T
      fromYaml​(@NotNull Node node, @NotNull TaskValidationContext context)
      Parse YAML node to Trigger Specs builder.
      <T extends com.atlassian.bamboo.specs.api.builders.trigger.Trigger<T,​P>,​P extends com.atlassian.bamboo.specs.api.model.trigger.TriggerProperties>
      T
      toSpecsEntity​(@NotNull TriggerDefinition triggerDefinition)
      Create Bamboo Specs object representing this trigger.
      default <T extends com.atlassian.bamboo.specs.api.builders.trigger.Trigger<T,​P>,​P extends com.atlassian.bamboo.specs.api.model.trigger.TriggerProperties>
      T
      toSpecsEntity​(@NotNull TriggerDefinition triggerDefinition, @NotNull Triggerable triggerable)
      Create Bamboo Specs object representing this trigger.
      @NotNull Map<String,​String> toTriggerConfiguration​(@NotNull com.atlassian.bamboo.specs.api.model.trigger.TriggerProperties triggerProperties, @NotNull Triggerable triggerable)
      Converts properties to Bamboo trigger configuration.
      default <T extends com.atlassian.bamboo.specs.api.model.trigger.TriggerProperties>
      @Nullable Node
      toYaml​(T triggerProperties)
      Convert trigger definition to YAML node.
      @NotNull List<com.atlassian.bamboo.specs.api.validators.common.ValidationProblem> validate​(@NotNull TriggerValidationContext triggerValidationContext, @NotNull com.atlassian.bamboo.specs.api.model.trigger.TriggerProperties triggerProperties)
      Validates trigger properties in context of enclosing plan or deployment properties.
    • Method Detail

      • toTriggerConfiguration

        @NotNull
        @NotNull Map<String,​String> toTriggerConfiguration​(@NotNull
                                                                 @NotNull com.atlassian.bamboo.specs.api.model.trigger.TriggerProperties triggerProperties,
                                                                 @NotNull
                                                                 @NotNull Triggerable triggerable)
        Converts properties to Bamboo trigger configuration. Can use all Bamboo server side services and can access DB if necessary. Should throw a runtime exception if conversion fails.
        Returns:
        trigger configuration
      • toSpecsEntity

        @NotNull
        <T extends com.atlassian.bamboo.specs.api.builders.trigger.Trigger<T,​P>,​P extends com.atlassian.bamboo.specs.api.model.trigger.TriggerProperties> T toSpecsEntity​(@NotNull
                                                                                                                                                                                      @NotNull TriggerDefinition triggerDefinition)
        Create Bamboo Specs object representing this trigger. Implementors don't need to handle common task properties like e.g. enabled/disabled, but must trigger specific configuration.
      • toSpecsEntity

        @NotNull
        default <T extends com.atlassian.bamboo.specs.api.builders.trigger.Trigger<T,​P>,​P extends com.atlassian.bamboo.specs.api.model.trigger.TriggerProperties> T toSpecsEntity​(@NotNull
                                                                                                                                                                                              @NotNull TriggerDefinition triggerDefinition,
                                                                                                                                                                                              @NotNull
                                                                                                                                                                                              @NotNull Triggerable triggerable)
        Create Bamboo Specs object representing this trigger. Implementors don't need to handle common task properties like e.g. enabled/disabled, but must trigger specific configuration.
      • validate

        @NotNull
        @NotNull 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)
        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.

      • toYaml

        @Nullable
        default <T extends com.atlassian.bamboo.specs.api.model.trigger.TriggerProperties> @Nullable Node toYaml​(@NotNull
                                                                                                                 T triggerProperties)
        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.
        Returns:
        YAML representation of the trigger.
        Since:
        7.2
      • fromYaml

        @Nullable
        default <T extends com.atlassian.bamboo.specs.api.builders.trigger.Trigger<T,​P>,​P extends com.atlassian.bamboo.specs.api.model.trigger.TriggerProperties> T fromYaml​(@NotNull
                                                                                                                                                                                         @NotNull Node node,
                                                                                                                                                                                         @NotNull
                                                                                                                                                                                         @NotNull TaskValidationContext context)
                                                                                                                                                                                  throws YamlSpecsValidationException
        Parse YAML node to Trigger Specs builder.
        Parameters:
        node - YAML node from user input. In general case it's same node generated by 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 toYaml(TriggerProperties) produces StringNode.
        context - task validation context
        Throws:
        YamlSpecsValidationException
        Since:
        7.2