Interface ProjectImportService
-
- All Known Implementing Classes:
ProjectImportServiceImpl
@ExperimentalApi public interface ProjectImportServiceService to import project configurations from human readable format.- Since:
- 8.2
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description @NotNull com.atlassian.bamboo.specs.api.model.project.ProjectPropertiesconvertYamlToProject(@NotNull String yaml)Converts data from a YAML document to project properties.@NotNull com.atlassian.bamboo.specs.api.model.permission.ProjectPermissionsPropertiesconvertYamlToProjectPermissions(@NotNull String yaml)Converts data from a YAML document to project permissions properties.@NotNull ProjectimportProject(@NotNull com.atlassian.bamboo.specs.api.model.project.ProjectProperties projectProperties, @Nullable com.atlassian.user.User user, @NotNull RssPermissions rssPermissions)Validates project properties within Bamboo context and imports the projects into the database.@NotNull ProjectimportProject(@NotNull com.atlassian.bamboo.specs.api.model.project.ProjectProperties projectProperties, @Nullable com.atlassian.user.User user, @NotNull RssPermissions rssPermissions, boolean noChangesInProperties)Validates project properties within Bamboo context and imports the project into the database.voidimportProjectPermissions(@NotNull com.atlassian.bamboo.specs.api.model.permission.ProjectPermissionsProperties projectPermissionsProperties, @NotNull RssPermissions rssPermissions)Imports the project permissions properties.voidvalidateProjectProperties(@NotNull com.atlassian.bamboo.specs.api.model.project.ProjectProperties projectProperties)Validates project properties without Bamboo context (no database integrity is verified).
-
-
-
Method Detail
-
convertYamlToProject
@NotNull @NotNull com.atlassian.bamboo.specs.api.model.project.ProjectProperties convertYamlToProject(@NotNull @NotNull String yaml) throws YamlValidationExceptionConverts data from a YAML document to project properties.- Parameters:
yaml- YAML String containing definition of a project- Returns:
- project properties
- Throws:
YamlValidationException- if the format of the YAML file is invalid
-
validateProjectProperties
void validateProjectProperties(@NotNull @NotNull com.atlassian.bamboo.specs.api.model.project.ProjectProperties projectProperties) throws com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationExceptionValidates project properties without Bamboo context (no database integrity is verified).- Parameters:
projectProperties- project properties to import- Throws:
com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException- if the imported properties were not valid
-
importProject
@NotNull @NotNull Project importProject(@NotNull @NotNull com.atlassian.bamboo.specs.api.model.project.ProjectProperties projectProperties, @Nullable @Nullable com.atlassian.user.User user, @NotNull @NotNull RssPermissions rssPermissions) throws com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException, UnauthorisedException, YamlValidationException
Validates project properties within Bamboo context and imports the projects into the database.- Parameters:
projectProperties- project properties to importuser- user invoking the importrssPermissions- projects which are allowed for modification- Returns:
- saved project entity
- Throws:
com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException- if data validation failedRssPermissionException- if RSS doesn't have access to the projectUnauthorisedException- if any other type of permission is missingYamlValidationException- if YAML validation of project resources failed
-
importProject
@NotNull @NotNull Project importProject(@NotNull @NotNull com.atlassian.bamboo.specs.api.model.project.ProjectProperties projectProperties, @Nullable @Nullable com.atlassian.user.User user, @NotNull @NotNull RssPermissions rssPermissions, boolean noChangesInProperties) throws com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException, RssPermissionException, UnauthorisedException
Validates project properties within Bamboo context and imports the project into the database.- Parameters:
projectProperties- project properties to importuser- user invoking the importrssPermissions- projects which are allowed for modification- Returns:
- saved project entity
- Throws:
com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException- if data validation failedRssPermissionException- if RSS doesn't have access to the projectUnauthorisedException- if any other type of permission is missing
-
convertYamlToProjectPermissions
@NotNull @NotNull com.atlassian.bamboo.specs.api.model.permission.ProjectPermissionsProperties convertYamlToProjectPermissions(@NotNull @NotNull String yaml) throws YamlValidationException, com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationExceptionConverts data from a YAML document to project permissions properties.- Parameters:
yaml- YAML String containing definition of project permissions- Returns:
- project permissions properties
- Throws:
com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException- if data validation failedYamlValidationException- if the format of the YAML file is invalid
-
importProjectPermissions
void importProjectPermissions(@NotNull @NotNull com.atlassian.bamboo.specs.api.model.permission.ProjectPermissionsProperties projectPermissionsProperties, @NotNull @NotNull RssPermissions rssPermissions) throws com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException, UnauthorisedExceptionImports the project permissions properties.- Parameters:
projectPermissionsProperties- project permissions properties to importrssPermissions- projects which are allowed for modification- Throws:
com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException- if data validation failedUnauthorisedException- if any other type of permission is missing
-
-