public interface VcsRepositoryConfigurationService
Modifier and Type | Interface and Description |
---|---|
static class |
VcsRepositoryConfigurationService.LinkedRepositoryAccess
Deprecated.
since 7.2.0, now should be used
VcsRepositoryConfigurationService.RepositoryAccess |
static class |
VcsRepositoryConfigurationService.RepositoryAccess |
Modifier and Type | Field and Description |
---|---|
static String |
LEGACY_VCS_PLUGINS_USED_BANDANA_KEY |
Modifier and Type | Method and Description |
---|---|
@NotNull ErrorCollection |
configureRssDetection(long repositoryId,
PartialVcsRepositoryData vcsRepositoryData,
boolean isEnabled)
Sets detection of Bamboo Specs for repository and saves new config.
|
PartialVcsRepositoryData |
convertToNewRepositoryConfiguration(@NotNull PartialVcsRepositoryData vcsRepositoryData)
Deprecated.
since 5.14 should be used for backward compatibility and upgrade task only
|
default @NotNull PartialVcsRepositoryData |
createLinkedRepository(@NotNull PartialVcsRepositoryData newVcsConfiguration,
@NotNull com.atlassian.user.User user,
@NotNull VcsRepositoryConfigurationService.LinkedRepositoryAccess accessOption)
Deprecated.
Creates new linked repository
|
@NotNull PartialVcsRepositoryData |
createLinkedRepository(@NotNull PartialVcsRepositoryData newVcsConfiguration,
@NotNull com.atlassian.user.User user,
@NotNull VcsRepositoryConfigurationService.RepositoryAccess accessOption)
Creates new linked repository
|
@NotNull PartialVcsRepositoryData |
createPlanRepository(@NotNull Plan plan,
@NotNull PartialVcsRepositoryData newVcsConfiguration)
Creates "plan local" repository and adds it to a plan.
|
@NotNull PartialVcsRepositoryData |
createProjectRepository(@NotNull PartialVcsRepositoryData newVcsConfiguration,
@Nullable com.atlassian.user.User user,
@NotNull VcsRepositoryConfigurationService.RepositoryAccess accessOption)
Creates new project repository
|
void |
deleteLinkedRepository(long repositoryId)
Removes linked repository.
|
void |
deleteProjectRepository(long repositoryId)
Removes project repository.
|
void |
deleteRepository(@NotNull Plan plan,
long repositoryId,
@Nullable Long replacementRepositoryId)
Removes repository definition from a plan
|
@NotNull PartialVcsRepositoryData |
editLinkedRepository(long repositoryId,
@NotNull PartialVcsRepositoryData newVcsConfiguration)
Edits existing linked repository
|
@NotNull PartialVcsRepositoryData |
editProjectRepository(long repositoryId,
@NotNull PartialVcsRepositoryData newVcsConfiguration)
Edits existing project repository
|
@NotNull PartialVcsRepositoryData |
editRepository(@NotNull Plan plan,
long repositoryId,
@NotNull PartialVcsRepositoryData newVcsConfiguration)
Edits existing "plan local" repository.
|
Map<ImmutableJob,List<TaskDefinition>> |
getRelevantJobsForRepositoryIdChange(@NotNull ImmutablePlan plan,
long repositoryId)
Deprecated.
since 5.14
|
@NotNull boolean |
hasProjectSharedCredentialsForRepository(PartialVcsRepositoryData vcsRepositoryData) |
@NotNull PartialVcsRepositoryData |
linkRepositoryToPlan(@NotNull Plan plan,
long selectedRepositoryId)
Connects a linked repository to a plan by creating a new repository that inherits all the data from the linked repository
and adding it to the plan.
|
PartialVcsRepositoryData |
mergeLinkedRepository(@NotNull PartialVcsRepositoryData vcsRepositoryData)
Merges the state of the given linked repository into the database.
|
void |
mergePlanRepositories(@NotNull Plan plan,
@NotNull List<PartialVcsRepositoryData> vcsRepositoryDataList)
Merges the state of the given plan repositories into the database.
|
PartialVcsRepositoryData |
mergeProjectRepository(@NotNull PartialVcsRepositoryData vcsRepositoryData)
Merges the state of the given project repository into the database.
|
void |
moveRepository(@NotNull Plan plan,
long repositoryId,
long beforePosition,
long afterPosition)
Changes position of repository in the repository list.
|
PartialVcsRepositoryData |
replaceRepositoryInPlan(@NotNull Plan plan,
@NotNull VcsRepositoryData parentRepository,
@NotNull PartialVcsRepositoryData oldRepository,
@NotNull PartialVcsRepositoryData newRepository)
Replaces uses of a repository with another one.
|
void |
setParentOfPlanRepository(@NotNull ImmutablePlan plan,
long repositoryId,
long parentRepositoryId)
Creates or changes parent-child relationship for a plan repository.
|
void |
shareRepository(@NotNull Plan plan,
@NotNull PartialVcsRepositoryData repositoryData,
@NotNull String repositoryName,
@Nullable String userDescription,
@NotNull com.atlassian.user.User user)
Converts existing Plan repository to Linked repository.
|
boolean |
validateContinuableStatus(@NotNull ResultsSummary resultSummary)
Checks that result is continuable and repositories referenced by a result still exists in Bamboo db.
|
void |
validateLinkedRepository(@NotNull PartialVcsRepositoryData vcsRepositoryData)
Validate linked repository before saving it in database.
|
boolean |
validateLinkedRepositoryName(@NotNull String repositoryName,
@Nullable BambooIdProvider vcsRepositoryData)
Checks if name of a linked repository is unique.
|
void |
validatePlanRepositoriesNamesAndOids(@NotNull Plan plan,
@NotNull List<PartialVcsRepositoryData> repositoryDataList)
Validate repository names checking if there are no duplicates.
|
void |
validatePlanRepository(@NotNull Plan plan,
@NotNull PartialVcsRepositoryData vcsRepositoryData)
Deprecated.
since 9.0 without direct replacement. The algorithm has changed.
|
void |
validateProjectRepository(@NotNull PartialVcsRepositoryData vcsRepositoryData)
Validate project repository before saving it in database.
|
boolean |
validateProjectRepositoryName(@NotNull String repositoryName,
@NotNull Long projectId,
@Nullable BambooIdProvider vcsRepositoryData)
Checks if name of a project repository is unique in the project.
|
boolean |
validateRepositoryName(@NotNull ImmutablePlan immutablePlan,
@NotNull String repositoryName,
@Nullable BambooIdProvider repositoryDefinition)
Checks if provided name for repository is unique in the Plan
|
boolean |
validateRestartableStatus(@NotNull ResultsSummary resultSummary)
Checks that result is restartable and repositories referenced by a result still exists in Bamboo db.
|
static final String LEGACY_VCS_PLUGINS_USED_BANDANA_KEY
@NotNull @NotNull PartialVcsRepositoryData createLinkedRepository(@NotNull @NotNull PartialVcsRepositoryData newVcsConfiguration, @NotNull @NotNull com.atlassian.user.User user, @NotNull @NotNull VcsRepositoryConfigurationService.RepositoryAccess accessOption)
newVcsConfiguration
- user
- accessOption
- @Deprecated @NotNull default @NotNull PartialVcsRepositoryData createLinkedRepository(@NotNull @NotNull PartialVcsRepositoryData newVcsConfiguration, @NotNull @NotNull com.atlassian.user.User user, @NotNull @NotNull VcsRepositoryConfigurationService.LinkedRepositoryAccess accessOption)
newVcsConfiguration
- user
- accessOption
- @NotNull @NotNull PartialVcsRepositoryData createProjectRepository(@NotNull @NotNull PartialVcsRepositoryData newVcsConfiguration, @Nullable @Nullable com.atlassian.user.User user, @NotNull @NotNull VcsRepositoryConfigurationService.RepositoryAccess accessOption)
newVcsConfiguration
- user
- accessOption
- @NotNull @NotNull PartialVcsRepositoryData editLinkedRepository(long repositoryId, @NotNull @NotNull PartialVcsRepositoryData newVcsConfiguration)
repositoryId
- newVcsConfiguration
- @NotNull @NotNull PartialVcsRepositoryData editProjectRepository(long repositoryId, @NotNull @NotNull PartialVcsRepositoryData newVcsConfiguration)
repositoryId
- newVcsConfiguration
- boolean validateLinkedRepositoryName(@NotNull @NotNull String repositoryName, @Nullable @Nullable BambooIdProvider vcsRepositoryData)
repositoryName
- vcsRepositoryData
- boolean validateProjectRepositoryName(@NotNull @NotNull String repositoryName, @NotNull @NotNull Long projectId, @Nullable @Nullable BambooIdProvider vcsRepositoryData)
repositoryName
- projectId
- boolean validateRepositoryName(@NotNull @NotNull ImmutablePlan immutablePlan, @NotNull @NotNull String repositoryName, @Nullable @Nullable BambooIdProvider repositoryDefinition)
@NotNull @NotNull PartialVcsRepositoryData linkRepositoryToPlan(@NotNull @NotNull Plan plan, long selectedRepositoryId)
plan
- selectedRepositoryId
- @NotNull @NotNull PartialVcsRepositoryData createPlanRepository(@NotNull @NotNull Plan plan, @NotNull @NotNull PartialVcsRepositoryData newVcsConfiguration)
plan
- newVcsConfiguration
- @NotNull @NotNull PartialVcsRepositoryData editRepository(@NotNull @NotNull Plan plan, long repositoryId, @NotNull @NotNull PartialVcsRepositoryData newVcsConfiguration)
plan
- repositoryId
- newVcsConfiguration
- void deleteRepository(@NotNull @NotNull Plan plan, long repositoryId, @Nullable @Nullable Long replacementRepositoryId)
plan
- repositoryId
- replacementRepositoryId
- repository id to replace removed one in tasks depending on itvoid deleteLinkedRepository(long repositoryId)
repositoryId
- void deleteProjectRepository(long repositoryId)
repositoryId
- void moveRepository(@NotNull @NotNull Plan plan, long repositoryId, long beforePosition, long afterPosition)
plan
- repositoryId
- the RepositoryDefinition to movebeforePosition
- position of the RepositoryDefinition that will be before the moving Repository, -1 if the beginning of the listafterPosition
- position of the RepositoryDefinition that will be after the moving Repository, -1 if the end of the listvoid shareRepository(@NotNull @NotNull Plan plan, @NotNull @NotNull PartialVcsRepositoryData repositoryData, @NotNull @NotNull String repositoryName, @Nullable @Nullable String userDescription, @NotNull @NotNull com.atlassian.user.User user)
plan
- plan that owns the repositoryrepositoryData
- repository to sharerepositoryName
- new name of the repositoryuserDescription
- of the repositoryvoid setParentOfPlanRepository(@NotNull @NotNull ImmutablePlan plan, long repositoryId, long parentRepositoryId)
plan
- repositoryId
- parentRepositoryId
- PartialVcsRepositoryData replaceRepositoryInPlan(@NotNull @NotNull Plan plan, @NotNull @NotNull VcsRepositoryData parentRepository, @NotNull @NotNull PartialVcsRepositoryData oldRepository, @NotNull @NotNull PartialVcsRepositoryData newRepository)
plan
- parentRepository
- oldRepository
- newRepository
- boolean validateRestartableStatus(@NotNull @NotNull ResultsSummary resultSummary)
boolean validateContinuableStatus(@NotNull @NotNull ResultsSummary resultSummary)
@Deprecated Map<ImmutableJob,List<TaskDefinition>> getRelevantJobsForRepositoryIdChange(@NotNull @NotNull ImmutablePlan plan, long repositoryId)
plan
- repositoryId
- @Deprecated PartialVcsRepositoryData convertToNewRepositoryConfiguration(@NotNull @NotNull PartialVcsRepositoryData vcsRepositoryData)
vcsRepositoryData
- void validateLinkedRepository(@NotNull @NotNull PartialVcsRepositoryData vcsRepositoryData) throws com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException
vcsRepositoryData
- imported linked repositorycom.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException
void validateProjectRepository(@NotNull @NotNull PartialVcsRepositoryData vcsRepositoryData) throws com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException
vcsRepositoryData
- imported project repositorycom.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException
PartialVcsRepositoryData mergeLinkedRepository(@NotNull @NotNull PartialVcsRepositoryData vcsRepositoryData) throws com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException
This service will attempt to merge the entity based on ImmutableEntityWithOid.getOid()
, and if there's no
match, based on DescriptionProvider.getName()
. If an existing entity is found, then it will be updated.
Otherwise, a new database entity will be created.
It's assumed that this method is used in specs import only as it's sending analytic event.
vcsRepositoryData
- imported linked repositorycom.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException
PartialVcsRepositoryData mergeProjectRepository(@NotNull @NotNull PartialVcsRepositoryData vcsRepositoryData) throws com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException
This service will attempt to merge the entity based on ImmutableEntityWithOid.getOid()
, and if there's no
match, based on DescriptionProvider.getName()
. If an existing entity is found, then it will be updated.
Otherwise, a new database entity will be created.
It's assumed that this method is used in specs import only as it's sending analytic event.
vcsRepositoryData
- imported project repositorycom.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException
@Internal @Deprecated void validatePlanRepository(@NotNull @NotNull Plan plan, @NotNull @NotNull PartialVcsRepositoryData vcsRepositoryData) throws com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException
plan
- vcsRepositoryData
- imported plan repositorycom.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException
void validatePlanRepositoriesNamesAndOids(@NotNull @NotNull Plan plan, @NotNull @NotNull List<PartialVcsRepositoryData> repositoryDataList) throws com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException
com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException
void mergePlanRepositories(@NotNull @NotNull Plan plan, @NotNull @NotNull List<PartialVcsRepositoryData> vcsRepositoryDataList) throws com.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException
This service will attempt to merge the entities based on BambooIdProvider.getId()
, and if there's no
match, a new database entity will be created. All other repositories in plan will be removed.
plan
- vcsRepositoryDataList
- list of imported plan repositoriescom.atlassian.bamboo.specs.api.exceptions.PropertiesValidationException
@NotNull @NotNull ErrorCollection configureRssDetection(long repositoryId, PartialVcsRepositoryData vcsRepositoryData, boolean isEnabled)
repositoryId
- id of repositoryvcsRepositoryData
- repository configuration, remains unchangedisEnabled
- true if Specs detection should be enabled, false otherwise@NotNull @NotNull boolean hasProjectSharedCredentialsForRepository(PartialVcsRepositoryData vcsRepositoryData)
vcsRepositoryData
- repository configurationCopyright © 2022 Atlassian Software Systems Pty Ltd. All rights reserved.