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
static int MAX_OPERATION_RETRIES
          Total number of retries to perform for repository operation failure
 
Method Summary
 BuildChanges collectAllChangesSinceLastBuild(ImmutableChain chain, Map<String,String> customVariableValues, String customRevision)
          Collect changes for a plan since the last build, regardless of whether the build triggering repositories have changes or not.
 BuildRepositoryChanges collectChangesBetween(ImmutableChain chain, RepositoryDefinition repositoryDefinition, PlanVcsRevisionData fromVcsRevisionData, PlanVcsRevisionData toVcsRevisionData)
          Given a RepositoryV2 finds the BuildChanges object that captures all changes that occurred between the fromVcsRevisionKey to toVcsRevisionKey
 BuildRepositoryChanges collectChangesSinceLastBuild(ImmutableChain chain, RepositoryDefinition repositoryDefinition, PlanVcsRevisionData lastVcsRevisionData, Map<String,String> customVariableValues, String customRevision)
          Given a RepositoryDefinition finds the BuildRepositoryChanges object that captures all changes that occurred since the lastVcsRevisionKey to the current latest found on the repository.
 BuildChanges collectChangesSinceLastBuildIfTriggered(ImmutableChain chain, Map<String,String> customVariableValues, Set<Long> triggeringRepositories)
          Collect changes for a plan since the last build.
 void updateIntegrationRepositoryDetails(ImmutableChain chain, BuildChanges buildChanges)
           
 

Field Detail

MAX_OPERATION_RETRIES

static final int MAX_OPERATION_RETRIES
Total number of retries to perform for repository operation failure

Method Detail

collectChangesSinceLastBuildIfTriggered

@NotNull
BuildChanges collectChangesSinceLastBuildIfTriggered(@NotNull
                                                             ImmutableChain chain,
                                                             @Nullable
                                                             Map<String,String> customVariableValues,
                                                             @Nullable
                                                             Set<Long> triggeringRepositories)
                                                     throws RepositoryException
Collect 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

collectAllChangesSinceLastBuild

@NotNull
BuildChanges collectAllChangesSinceLastBuild(@NotNull
                                                     ImmutableChain chain,
                                                     @Nullable
                                                     Map<String,String> customVariableValues,
                                                     @Nullable
                                                     String customRevision)
                                             throws RepositoryException
Collect changes for a plan since the last build, regardless of whether the build triggering repositories have changes or not.

Parameters:
chain -
customVariableValues -
customRevision - specify which revision we're going to build (run customised plan dialog)
Returns:
aggregated changes from all repositories
Throws:
RepositoryException

collectChangesSinceLastBuild

@NotNull
BuildRepositoryChanges collectChangesSinceLastBuild(@NotNull
                                                            ImmutableChain chain,
                                                            @NotNull
                                                            RepositoryDefinition repositoryDefinition,
                                                            @NotNull
                                                            PlanVcsRevisionData lastVcsRevisionData,
                                                            @Nullable
                                                            Map<String,String> customVariableValues,
                                                            @Nullable
                                                            String customRevision)
                                                    throws RepositoryException
Given a RepositoryDefinition finds the BuildRepositoryChanges 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

Parameters:
chain -
repositoryDefinition -
lastVcsRevisionData -
customVariableValues -
customRevision - - override target revision for default repository definition - used by 'run customised build'
Returns:
Throws:
RepositoryException

collectChangesBetween

@NotNull
BuildRepositoryChanges collectChangesBetween(@NotNull
                                                     ImmutableChain chain,
                                                     @NotNull
                                                     RepositoryDefinition repositoryDefinition,
                                                     @Nullable
                                                     PlanVcsRevisionData fromVcsRevisionData,
                                                     @NotNull
                                                     PlanVcsRevisionData toVcsRevisionData)
                                             throws RepositoryException
Given a RepositoryV2 finds the BuildChanges object that captures all changes that occurred between the fromVcsRevisionKey to toVcsRevisionKey

Parameters:
chain -
repositoryDefinition -
fromVcsRevisionData -
toVcsRevisionData -
Returns:
Throws:
RepositoryException

updateIntegrationRepositoryDetails

void updateIntegrationRepositoryDetails(ImmutableChain chain,
                                        BuildChanges buildChanges)
                                        throws RepositoryException
Throws:
RepositoryException


Copyright © 2015 Atlassian Software Systems Pty Ltd. All rights reserved.