Package com.atlassian.bamboo.v2.trigger
Interface ChangeDetectionManager
- All Known Implementing Classes:
DefaultChangeDetectionManager
@PublicApi
public interface ChangeDetectionManager
Encapsulates the detection of the changes given a repository. It provides a central point to place common change
detection logic
- Since:
- 2.7
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Total number of retries to perform for repository operation failure -
Method Summary
Modifier and TypeMethodDescription@NotNull BuildChanges
collectAllChangesSinceLastBuild
(@NotNull ImmutableChain chain, @Nullable Map<String, String> customVariableValues, @Nullable String customRevision) Collect changes for a plan since the last build, regardless of whether the build triggering repositories have changes or not.default BuildChanges
collectAllChangesSinceLastBuild
(@NotNull ImmutableChain chain, @Nullable Map<String, String> customVariableValues, @Nullable String customRevision, PlanExecutionLaunchControl.ReleaseLocksActions releaseLocksActions) Collect changes for a plan since the last build, regardless of whether the build triggering repositories have changes or not.@NotNull BuildRepositoryChanges
collectChangesBetween
(@NotNull ImmutableChain chain, @NotNull PlanRepositoryDefinition repositoryDefinition, @Nullable PlanVcsRevisionData fromVcsRevisionData, @NotNull PlanVcsRevisionData toVcsRevisionData) Given aPlanRepositoryDefinition
finds theBuildChanges
object that captures all changes that occurred between the fromVcsRevisionKey to toVcsRevisionKey This method suppresses quiet period settings and returns changes immediately.@NotNull BuildRepositoryChanges
collectChangesSinceLastBuild
(@NotNull ImmutableChain chain, @NotNull PlanRepositoryDefinition repositoryDefinition, @NotNull PlanVcsRevisionData lastVcsRevisionData, @Nullable Map<String, String> customVariableValues, @Nullable String customRevision) Given aPlanRepositoryDefinition
finds theBuildRepositoryChanges
object that captures all changes that occurred since the lastVcsRevisionKey to the current latest found on the repository.@NotNull BuildChanges
collectChangesSinceLastBuildIfTriggered
(@NotNull ImmutableChain chain, @Nullable Map<String, String> customVariableValues, @Nullable Set<Long> triggeringRepositories) Collect changes for a plan since the last build.default @NotNull BuildChanges
collectChangesSinceLastBuildIfTriggered
(@NotNull ImmutableChain chain, @Nullable Map<String, String> customVariableValues, @Nullable Set<Long> triggeringRepositories, PlanExecutionLaunchControl.ReleaseLocksActions releaseLocksActions) Collect changes for a plan since the last build.void
updateIntegrationRepositoryDetails
(ImmutableChain chain, BuildChanges buildChanges)
-
Field Details
-
MAX_OPERATION_RETRIES
static final int MAX_OPERATION_RETRIESTotal number of retries to perform for repository operation failure
-
-
Method Details
-
collectChangesSinceLastBuildIfTriggered
@NotNull @NotNull BuildChanges collectChangesSinceLastBuildIfTriggered(@NotNull @NotNull ImmutableChain chain, @Nullable @Nullable Map<String, String> customVariableValues, @Nullable @Nullable Set<Long> triggeringRepositories) throws RepositoryExceptionCollect changes for a plan since the last build. Returns changes only if at least one of the build triggering repositories has changes.- Parameters:
chain
-customVariableValues
-triggeringRepositories
- id of repositories that trigger the build- Returns:
- aggregated changes from all repositories
- Throws:
RepositoryException
-
collectChangesSinceLastBuildIfTriggered
@NotNull default @NotNull BuildChanges collectChangesSinceLastBuildIfTriggered(@NotNull @NotNull ImmutableChain chain, @Nullable @Nullable Map<String, String> customVariableValues, @Nullable @Nullable Set<Long> triggeringRepositories, @NotNull PlanExecutionLaunchControl.ReleaseLocksActions releaseLocksActions) throws RepositoryExceptionCollect changes for a plan since the last build. Returns changes only if at least one of the build triggering repositories has changes.- Parameters:
chain
-customVariableValues
-triggeringRepositories
- id of repositories that trigger the buildreleaseLocksActions
- actions used for releasing repositories caches locks- Returns:
- aggregated changes from all repositories
- Throws:
RepositoryException
- Since:
- 9.3
-
collectAllChangesSinceLastBuild
@NotNull @NotNull BuildChanges collectAllChangesSinceLastBuild(@NotNull @NotNull ImmutableChain chain, @Nullable @Nullable Map<String, String> customVariableValues, @Nullable @Nullable String customRevision) throws RepositoryExceptionCollect changes for a plan since the last build, regardless of whether the build triggering repositories have changes or not. This method suppresses quiet period settings and returns changes immediately.- Parameters:
chain
-customVariableValues
-customRevision
- specify which revision we're going to build (run customised plan dialog)- Returns:
- aggregated changes from all repositories
- Throws:
RepositoryException
-
collectAllChangesSinceLastBuild
default BuildChanges collectAllChangesSinceLastBuild(@NotNull @NotNull ImmutableChain chain, @Nullable @Nullable Map<String, String> customVariableValues, @Nullable @Nullable String customRevision, @NotNull PlanExecutionLaunchControl.ReleaseLocksActions releaseLocksActions) throws RepositoryExceptionCollect changes for a plan since the last build, regardless of whether the build triggering repositories have changes or not. This method suppresses quiet period settings and returns changes immediately.- Parameters:
chain
-customVariableValues
-customRevision
- specify which revision we're going to build (run customised plan dialog)releaseLocksActions
- actions used for releasing repositories caches locks- Returns:
- aggregated changes from all repositories
- Throws:
RepositoryException
- since 9.3
-
collectChangesSinceLastBuild
@NotNull @NotNull BuildRepositoryChanges collectChangesSinceLastBuild(@NotNull @NotNull ImmutableChain chain, @NotNull @NotNull PlanRepositoryDefinition repositoryDefinition, @NotNull @NotNull PlanVcsRevisionData lastVcsRevisionData, @Nullable @Nullable Map<String, String> customVariableValues, @Nullable @Nullable String customRevision) throws RepositoryExceptionGiven aPlanRepositoryDefinition
finds theBuildRepositoryChanges
object that captures all changes that occurred since the lastVcsRevisionKey to the current latest found on the repository. Method provides manually set variables collection for evaluation during change detection This method suppresses quiet period settings and returns changes immediately.- Parameters:
chain
-repositoryDefinition
-lastVcsRevisionData
-customVariableValues
-customRevision
- - override target revision for default repository definition - used by 'run customised build'- Returns:
- Throws:
RepositoryException
-
collectChangesBetween
@NotNull @NotNull BuildRepositoryChanges collectChangesBetween(@NotNull @NotNull ImmutableChain chain, @NotNull @NotNull PlanRepositoryDefinition repositoryDefinition, @Nullable @Nullable PlanVcsRevisionData fromVcsRevisionData, @NotNull @NotNull PlanVcsRevisionData toVcsRevisionData) throws RepositoryException Given aPlanRepositoryDefinition
finds theBuildChanges
object that captures all changes that occurred between the fromVcsRevisionKey to toVcsRevisionKey This method suppresses quiet period settings and returns changes immediately.- Parameters:
chain
-repositoryDefinition
-fromVcsRevisionData
-toVcsRevisionData
-- Returns:
- Throws:
RepositoryException
-
updateIntegrationRepositoryDetails
void updateIntegrationRepositoryDetails(ImmutableChain chain, BuildChanges buildChanges) throws RepositoryException - Throws:
RepositoryException
-