Class PlanConfigImportServiceImpl

    • Constructor Detail

      • PlanConfigImportServiceImpl

        public PlanConfigImportServiceImpl()
    • Method Detail

      • convertYamlToPlan

        @NotNull
        public @NotNull com.atlassian.bamboo.specs.api.model.plan.PlanProperties convertYamlToPlan​(@NotNull
                                                                                                   @NotNull String yaml)
                                                                                            throws com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException,
                                                                                                   YamlValidationException
        Description copied from interface: PlanConfigImportService
        Converts data from a YAML document to top level plan properties.
        Specified by:
        convertYamlToPlan in interface PlanConfigImportService
        Parameters:
        yaml - YAML String containing definition of top level plan
        Returns:
        top level plan properties
        Throws:
        YamlValidationException - if the format of the YAML file is invalid
        com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException
      • validatePlanProperties

        public void validatePlanProperties​(@NotNull
                                           @NotNull com.atlassian.bamboo.specs.api.model.plan.PlanProperties planProperties,
                                           @NotNull
                                           @NotNull RssPermissions rssPermissions)
                                    throws com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException,
                                           RssPermissionException
        Description copied from interface: PlanConfigImportService
        This method performs validation of YAML types and of the properties without Bamboo context (e.g. no database integrity is verified).
        Specified by:
        validatePlanProperties in interface PlanConfigImportService
        Parameters:
        planProperties - top level plan properties
        rssPermissions - projects which can allowed for modification
        Throws:
        com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException - if the imported properties were not valid
        RssPermissionException - if RSS is missing access to projects/repositories
      • validatePlanBranchProperties

        public void validatePlanBranchProperties​(@NotNull
                                                 @NotNull com.atlassian.bamboo.specs.api.model.plan.PlanProperties planProperties,
                                                 @NotNull
                                                 @NotNull RssPermissions rssPermissions,
                                                 @NotNull
                                                 @NotNull VcsBranch vcsBranch)
                                          throws com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException,
                                                 RssPermissionException
        Description copied from interface: PlanConfigImportService
        This method performs validation of YAML types and of the properties without Bamboo context (e.g. no database integrity is verified).
        Specified by:
        validatePlanBranchProperties in interface PlanConfigImportService
        Parameters:
        planProperties - plan branch properties
        rssPermissions - projects which can allowed for modification
        vcsBranch - imported vcs branch
        Throws:
        com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException - if the imported properties were not valid
        RssPermissionException - if RSS is missing access to projects/repositories
      • importPlan

        @NotNull
        public @NotNull PlanConfigImportService.ImportResult importPlan​(@NotNull
                                                                        @NotNull com.atlassian.bamboo.specs.api.model.plan.PlanProperties planProperties,
                                                                        @Nullable
                                                                        @Nullable com.atlassian.user.User userForCreation,
                                                                        @NotNull
                                                                        @NotNull RssPermissions rssPermissions)
        Description copied from interface: PlanConfigImportService
        Validates exported top level plan properties within Bamboo context (e.g. verifying database integrity), then imports the data into the database.
        Specified by:
        importPlan in interface PlanConfigImportService
        Parameters:
        planProperties - top level plan properties to import
        userForCreation - user invoking the import
        rssPermissions - projects which can allowed for modification; since 6.2
        Returns:
        saved top level plan entity and flag indicating if the plan is new
      • importPlan

        @NotNull
        public @NotNull PlanConfigImportService.ImportResult importPlan​(@NotNull
                                                                        @NotNull com.atlassian.bamboo.specs.api.model.plan.PlanProperties planProperties,
                                                                        @Nullable
                                                                        @Nullable com.atlassian.user.User userForCreation,
                                                                        @NotNull
                                                                        @NotNull RssPermissions rssPermissions,
                                                                        boolean deferEvents,
                                                                        boolean noChangesInProperties)
                                                                 throws com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException,
                                                                        RssPermissionException
        Description copied from interface: PlanConfigImportService
        Validates exported top level plan properties within Bamboo context (e.g. verifying database integrity), then imports the data into the database.
        Specified by:
        importPlan in interface PlanConfigImportService
        Parameters:
        planProperties - top level plan properties to import
        userForCreation - user invoking the import
        rssPermissions - projects which can allowed for modification; since 6.2
        deferEvents - when set to true, the import routine will not send creation events nor initialise plan triggers
        Returns:
        saved top level plan entity and flag indicating if the plan is new
        Throws:
        com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException - if data validation fails
        RssPermissionException - if rss doesn't have access to dependant project