Interface ProjectImportService
- All Known Implementing Classes:
ProjectImportServiceImpl
@ExperimentalApi
public interface ProjectImportService
Service to import project configurations from human readable format.
- Since:
- 8.2
-
Method Summary
Modifier and TypeMethodDescription@NotNull com.atlassian.bamboo.specs.api.model.project.ProjectProperties
convertYamlToProject
(@NotNull String yaml) Converts data from a YAML document to project properties.@NotNull com.atlassian.bamboo.specs.api.model.permission.ProjectPermissionsProperties
convertYamlToProjectPermissions
(@NotNull String yaml) Converts data from a YAML document to project permissions properties.@NotNull Project
importProject
(@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 Project
importProject
(@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.void
importProjectPermissions
(@NotNull com.atlassian.bamboo.specs.api.model.permission.ProjectPermissionsProperties projectPermissionsProperties, @NotNull RssPermissions rssPermissions) Imports the project permissions properties.void
validateProjectProperties
(@NotNull com.atlassian.bamboo.specs.api.model.project.ProjectProperties projectProperties) Validates project properties without Bamboo context (no database integrity is verified).
-
Method Details
-
convertYamlToProject
@NotNull @NotNull com.atlassian.bamboo.specs.api.model.project.ProjectProperties convertYamlToProject(@NotNull @NotNull String yaml) throws YamlValidationException Converts 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.PropertiesValidationException Validates 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.PropertiesValidationException Converts 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, UnauthorisedException Imports 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
-