Class DeploymentResultServiceImpl
java.lang.Object
com.atlassian.bamboo.deployments.results.service.DeploymentResultServiceImpl
- All Implemented Interfaces:
DeploymentResultService
-
Constructor Summary
ConstructorsConstructorDescriptionDeploymentResultServiceImpl(BambooPermissionManager bambooPermissionManager, DeploymentResultDao deploymentResultDao, DeploymentVersionDao deploymentVersionDao, EnvironmentDao environmentDao, @NotNull CachedEnvironmentService cachedEnvironmentService, @NotNull VariableContextBaselineDao variableContextBaselineDao, @NotNull DeploymentsInProgressService deploymentsInProgressService, @NotNull TriggerManager triggerManager, org.apache.struts2.text.TextProvider textProvider) -
Method Summary
Modifier and TypeMethodDescriptionintcountDeploymentResultsForEnvironment(long environmentId) Count deployment results for deployment.createDeploymentResult(long environmentId, long deploymentVersionId, @NotNull VariableContext variableContext, @NotNull TriggerReason triggerReason) findEnvironmentIdsVersionWasDeployedOn(long deploymentVersionId) @Nullable DeploymentResultgetDeploymentResult(long deploymentResultId) Retrieve a specific deployment result.getDeploymentResultIdsForDeploymentVersionFinishedBefore(long deploymentVersionId, @NotNull Date finishDate) Get ids of all deployment results for deployment version finished before given date.@NotNull List<DeploymentResult> getDeploymentResultsByLifeCycleState(Collection<LifeCycleState> lifeCycleStates) @NotNull List<DeploymentResult> getDeploymentResultsForDeploymentVersion(long deploymentVersionId) Get all deployment results for deployment version.@NotNull List<DeploymentResult> getDeploymentResultsForDeploymentVersionAndEnvironment(long deploymentVersionId, long environmentId) Get all deployment results for deployment versions that ran against the specified environment.@NotNull List<DeploymentResult> getDeploymentResultsForDeploymentVersionFinishedBefore(long deploymentVersionId, Date finishDate) Get all deployment results for deployment version finished before given date.@NotNull List<DeploymentResult> getDeploymentResultsForEnvironment(long environmentId) Get all deployment results for environment.@NotNull List<DeploymentResult> getDeploymentResultsForEnvironment(long environmentId, int offset, int maxResults) Get deployment results for environment.@NotNull List<DeploymentResult> getDeploymentResultsForEnvironmentWithoutVariables(long environmentId, int offset, int maxResults) Get deployment results for environment.getLastResultBefore(@NotNull DeploymentResult deploymentResult) getLastResultInStatesBefore(@NotNull DeploymentResult deploymentResult, @NotNull EnumSet<BuildState> buildStates) @Nullable DeploymentResultgetLatestDeploymentResult(long environmentId, long deploymentVersionId) Retrieve a specific deployment result for an environment and version.@Nullable DeploymentResultgetLatestDeploymentResultForEnvironment(long environmentId) Get the latest result that ran against an environment@NotNull List<EnvironmentStatus> getLatestKnownDeploymentResultForEnvironments(Iterable<? extends Environment> environments) Get the latest results that *actually* ran against a list of environments.@NotNull List<EnvironmentStatus> getLatestKnownDeploymentResultForEnvironmentsInProject(@NotNull DeploymentProject deploymentProject) Get the latest results that *actually* ran against a list of environments.getLatestStatusForAllEnvironments(Map<Long, Environment> environmentsById, Map<Long, DeploymentProject> deploymentProjectsById) @NotNull Map<Long, EnvironmentStatusForDashboard> getLatestStatusForEnvironments(@NotNull List<Long> environmentIds) @NotNull List<DeploymentResult> getResultsWhereDeploymentVersionIsDeployedNow(List<Long> environmentsId, long deploymentVersionId) getRollbackVersion(long environmentId) For a given environment find the version that existed on the environment prior to the last deployment.@Nullable DeploymentVersiongetRollbackVersion(@NotNull DeploymentResult deploymentResult) For a given deployment result find the version that existed on the environment before that deployment.@NotNull List<EnvironmentStatusForAggregation> getStatusesForAggregationByProject(@NotNull DeploymentProject deploymentProject) @NotNull List<DeploymentResult> getSuccessfulDeploymentResultsForEnvironment(long environmentId, int offset, int maxResults) Get successful deployment results for environment.voidsetExecutingAgent(long deploymentResultId, long agentId) Set the agent that the deployment is executing on.voidupdateDeploymentState(long deploymentResultId, @NotNull BuildState deploymentState, Map<String, String> customData) Update the build state of the Deployment ResultvoidupdateLifeCycleState(long deploymentResultId, @NotNull LifeCycleState lifeCycleState) Update lifecycle state of the DeploymentResult.voidupdateLifeCycleState(@NotNull DeploymentTimingPoint timingPoint, @NotNull LifeCycleState lifeCycleState) Update lifecycle state of the DeploymentResult
-
Constructor Details
-
DeploymentResultServiceImpl
public DeploymentResultServiceImpl(BambooPermissionManager bambooPermissionManager, DeploymentResultDao deploymentResultDao, DeploymentVersionDao deploymentVersionDao, EnvironmentDao environmentDao, @NotNull @NotNull CachedEnvironmentService cachedEnvironmentService, @NotNull @NotNull VariableContextBaselineDao variableContextBaselineDao, @NotNull @NotNull DeploymentsInProgressService deploymentsInProgressService, @NotNull @NotNull TriggerManager triggerManager, org.apache.struts2.text.TextProvider textProvider)
-
-
Method Details
-
createDeploymentResult
public DeploymentResult createDeploymentResult(long environmentId, long deploymentVersionId, @NotNull @NotNull VariableContext variableContext, @NotNull @NotNull TriggerReason triggerReason) - Specified by:
createDeploymentResultin interfaceDeploymentResultService
-
getDeploymentResult
Description copied from interface:DeploymentResultServiceRetrieve a specific deployment result.- Specified by:
getDeploymentResultin interfaceDeploymentResultService- Parameters:
deploymentResultId- of the result- Returns:
- deployment result with given id
-
getLatestDeploymentResult
@Nullable public @Nullable DeploymentResult getLatestDeploymentResult(long environmentId, long deploymentVersionId) Description copied from interface:DeploymentResultServiceRetrieve a specific deployment result for an environment and version. There should only be one result per environment/version combination. Entirely possible it has not executed yet so will return null;- Specified by:
getLatestDeploymentResultin interfaceDeploymentResultService- Parameters:
environmentId- of the environmentdeploymentVersionId- of the version- Returns:
- deployment result for a version against an environment.
-
getLatestDeploymentResultForEnvironment
@Nullable public @Nullable DeploymentResult getLatestDeploymentResultForEnvironment(long environmentId) Description copied from interface:DeploymentResultServiceGet the latest result that ran against an environment- Specified by:
getLatestDeploymentResultForEnvironmentin interfaceDeploymentResultService- Parameters:
environmentId- id of the environment- Returns:
- the latest result. Null if not run
-
getLatestKnownDeploymentResultForEnvironments
@NotNull public @NotNull List<EnvironmentStatus> getLatestKnownDeploymentResultForEnvironments(Iterable<? extends Environment> environments) Description copied from interface:DeploymentResultServiceGet the latest results that *actually* ran against a list of environments. Any NOT_BUILT results are skipped, so you can see the state of that particular environment. Wraps the return into EnvironmentStatus'- Specified by:
getLatestKnownDeploymentResultForEnvironmentsin interfaceDeploymentResultService- Parameters:
environments- we want to retrieve latest DeploymentResult- Returns:
- the List of EnvironmentStatus that contain latest results.
-
getLatestKnownDeploymentResultForEnvironmentsInProject
@NotNull public @NotNull List<EnvironmentStatus> getLatestKnownDeploymentResultForEnvironmentsInProject(@NotNull @NotNull DeploymentProject deploymentProject) Description copied from interface:DeploymentResultServiceGet the latest results that *actually* ran against a list of environments. Any NOT_BUILT results are skipped, so you can see the state of that particular environment. Wraps the return into EnvironmentStatus' The variables contexts _are not fetched_- Specified by:
getLatestKnownDeploymentResultForEnvironmentsInProjectin interfaceDeploymentResultService- Parameters:
deploymentProject- we want to retrieve latest DeploymentResults for- Returns:
- the List of EnvironmentStatus that contain latest results.
-
getStatusesForAggregationByProject
@NotNull public @NotNull List<EnvironmentStatusForAggregation> getStatusesForAggregationByProject(@NotNull @NotNull DeploymentProject deploymentProject) - Specified by:
getStatusesForAggregationByProjectin interfaceDeploymentResultService
-
getDeploymentResultsForEnvironment
@NotNull public @NotNull List<DeploymentResult> getDeploymentResultsForEnvironment(long environmentId) Description copied from interface:DeploymentResultServiceGet all deployment results for environment. Sorted by started date, newest first. todo pagination- Specified by:
getDeploymentResultsForEnvironmentin interfaceDeploymentResultService- Parameters:
environmentId- id of environment to get results from- Returns:
- List of deployment results
-
getDeploymentResultsForEnvironment
@NotNull public @NotNull List<DeploymentResult> getDeploymentResultsForEnvironment(long environmentId, int offset, int maxResults) Description copied from interface:DeploymentResultServiceGet deployment results for environment. Sorted by started date, newest first, skips a number of results defined in 'offset' parameter, limits to 'maxResults'- Specified by:
getDeploymentResultsForEnvironmentin interfaceDeploymentResultService- Parameters:
environmentId- id of environment to get results fromoffset-maxResults-- Returns:
- List of deployment results
-
getDeploymentResultsForEnvironmentWithoutVariables
@NotNull public @NotNull List<DeploymentResult> getDeploymentResultsForEnvironmentWithoutVariables(long environmentId, int offset, int maxResults) Description copied from interface:DeploymentResultServiceGet deployment results for environment. Sorted by started date, newest first, skips a number of results defined in 'offset' parameter, limits to 'maxResults'- Specified by:
getDeploymentResultsForEnvironmentWithoutVariablesin interfaceDeploymentResultService- Parameters:
environmentId- id of environment to get results fromoffset-maxResults-- Returns:
- List of deployment results
-
getSuccessfulDeploymentResultsForEnvironment
@NotNull public @NotNull List<DeploymentResult> getSuccessfulDeploymentResultsForEnvironment(long environmentId, int offset, int maxResults) Description copied from interface:DeploymentResultServiceGet successful deployment results for environment. Sorted by started date, newest first, skips a number of results defined in 'offset' parameter, limits to 'maxResults'- Specified by:
getSuccessfulDeploymentResultsForEnvironmentin interfaceDeploymentResultService- Parameters:
environmentId- id of environment to get results fromoffset-maxResults-- Returns:
- List of successful deployment results
-
getDeploymentResultsForDeploymentVersion
@NotNull public @NotNull List<DeploymentResult> getDeploymentResultsForDeploymentVersion(long deploymentVersionId) Description copied from interface:DeploymentResultServiceGet all deployment results for deployment version. Sorted by started date, newest first. This method could return significant sets of data and is a potential problem due to performance reasons- Specified by:
getDeploymentResultsForDeploymentVersionin interfaceDeploymentResultService- Parameters:
deploymentVersionId- id of deployment version to get results from- Returns:
- List of deployment results sorted by started data (newest first)
-
getDeploymentResultsForDeploymentVersionAndEnvironment
@NotNull public @NotNull List<DeploymentResult> getDeploymentResultsForDeploymentVersionAndEnvironment(long deploymentVersionId, long environmentId) Description copied from interface:DeploymentResultServiceGet all deployment results for deployment versions that ran against the specified environment.- Specified by:
getDeploymentResultsForDeploymentVersionAndEnvironmentin interfaceDeploymentResultService- Parameters:
deploymentVersionId- id of deployment versionenvironmentId- id of environment- Returns:
- List of deployment results sorted by started date (newest first)
-
getDeploymentResultsForDeploymentVersionFinishedBefore
@NotNull public @NotNull List<DeploymentResult> getDeploymentResultsForDeploymentVersionFinishedBefore(long deploymentVersionId, Date finishDate) Description copied from interface:DeploymentResultServiceGet all deployment results for deployment version finished before given date. Sorted by started date, newest first. This method could return significant sets of data and is a potential problem due to performance reasons- Specified by:
getDeploymentResultsForDeploymentVersionFinishedBeforein interfaceDeploymentResultService- Parameters:
deploymentVersionId- id of deployment version to get results fromfinishDate- only select results finished before this date- Returns:
- List of deployment results sorted by started data (newest first)
-
getDeploymentResultIdsForDeploymentVersionFinishedBefore
@NotNull public @NotNull List<Long> getDeploymentResultIdsForDeploymentVersionFinishedBefore(long deploymentVersionId, @NotNull @NotNull Date finishDate) Description copied from interface:DeploymentResultServiceGet ids of all deployment results for deployment version finished before given date. Sorted by started date, oldest first.- Specified by:
getDeploymentResultIdsForDeploymentVersionFinishedBeforein interfaceDeploymentResultService- Parameters:
deploymentVersionId- id of deployment version to get results fromfinishDate- only select results finished before this date- Returns:
- List of deployment results sorted by started data (oldest first)
-
countDeploymentResultsForEnvironment
public int countDeploymentResultsForEnvironment(long environmentId) Description copied from interface:DeploymentResultServiceCount deployment results for deployment.- Specified by:
countDeploymentResultsForEnvironmentin interfaceDeploymentResultService- Parameters:
environmentId-- Returns:
-
getDeploymentResultsByLifeCycleState
@NotNull public @NotNull List<DeploymentResult> getDeploymentResultsByLifeCycleState(Collection<LifeCycleState> lifeCycleStates) - Specified by:
getDeploymentResultsByLifeCycleStatein interfaceDeploymentResultService
-
getRollbackVersion
Description copied from interface:DeploymentResultServiceFor a given environment find the version that existed on the environment prior to the last deployment. This is the version that you would "Roll back" to in the case of problems.- Specified by:
getRollbackVersionin interfaceDeploymentResultService- Parameters:
environmentId- to find rollback version for.- Returns:
- the version that is considered the rollback version for this environment
-
getRollbackVersion
@Nullable public @Nullable DeploymentVersion getRollbackVersion(@NotNull @NotNull DeploymentResult deploymentResult) Description copied from interface:DeploymentResultServiceFor a given deployment result find the version that existed on the environment before that deployment.- Specified by:
getRollbackVersionin interfaceDeploymentResultService- Parameters:
deploymentResult- deployment result that was deployed at some time on some environment- Returns:
- deployment that was previously on same environment
-
updateDeploymentState
public void updateDeploymentState(long deploymentResultId, @NotNull @NotNull BuildState deploymentState, Map<String, String> customData) Description copied from interface:DeploymentResultServiceUpdate the build state of the Deployment Result- Specified by:
updateDeploymentStatein interfaceDeploymentResultService- Parameters:
deploymentResultId- if of result to updatedeploymentState- new value of the build state to savecustomData-
-
updateLifeCycleState
public void updateLifeCycleState(long deploymentResultId, @NotNull @NotNull LifeCycleState lifeCycleState) Description copied from interface:DeploymentResultServiceUpdate lifecycle state of the DeploymentResult. This method expects only PENDING and NOT_BUILD lifeCycleState.- Specified by:
updateLifeCycleStatein interfaceDeploymentResultService- Parameters:
deploymentResultId- id of DeploymentResultlifeCycleState- lifecycle state to be set
-
updateLifeCycleState
public void updateLifeCycleState(@NotNull @NotNull DeploymentTimingPoint timingPoint, @NotNull @NotNull LifeCycleState lifeCycleState) Description copied from interface:DeploymentResultServiceUpdate lifecycle state of the DeploymentResult- Specified by:
updateLifeCycleStatein interfaceDeploymentResultService- Parameters:
timingPoint- deployment timing pointlifeCycleState- lifecycle state to be set
-
setExecutingAgent
public void setExecutingAgent(long deploymentResultId, long agentId) Description copied from interface:DeploymentResultServiceSet the agent that the deployment is executing on.- Specified by:
setExecutingAgentin interfaceDeploymentResultService- Parameters:
deploymentResultId- id of the deployment resultagentId- if of the agent
-
findEnvironmentIdsVersionWasDeployedOn
- Specified by:
findEnvironmentIdsVersionWasDeployedOnin interfaceDeploymentResultService- Parameters:
deploymentVersionId-- Returns:
- ids of all environments a version was ever deployed on
-
getLastResultBefore
- Specified by:
getLastResultBeforein interfaceDeploymentResultService- Returns:
- result of the last deployment performed on an environment before given result
-
getLastResultInStatesBefore
public DeploymentResult getLastResultInStatesBefore(@NotNull @NotNull DeploymentResult deploymentResult, @NotNull @NotNull EnumSet<BuildState> buildStates) - Specified by:
getLastResultInStatesBeforein interfaceDeploymentResultService- Returns:
- result of the last deployment performed on an environment before given result in one of given states
-
getLatestStatusForAllEnvironments
public Map<Long,EnvironmentStatus> getLatestStatusForAllEnvironments(Map<Long, Environment> environmentsById, Map<Long, DeploymentProject> deploymentProjectsById) - Specified by:
getLatestStatusForAllEnvironmentsin interfaceDeploymentResultService- Parameters:
environmentsById- pass all visible environments. Any environments not passed will not have results returned. This can technically be used to retrieve deployment results for a subset of environments but it's only efficient for significant sets. By definition this should not contain any environments without visible projects.deploymentProjectsById- All visible deployment projects.- Returns:
- the latest environment status for each environment in the system as a map of environment Id to EnvironmentStatus. Environments that have not been deployed will have a status with no result. Note that this is potentially a very slow operation and should be called only when most deployment results will be required.
-
getLatestStatusForEnvironments
@NotNull public @NotNull Map<Long,EnvironmentStatusForDashboard> getLatestStatusForEnvironments(@NotNull @NotNull List<Long> environmentIds) throws AccessDeniedException - Specified by:
getLatestStatusForEnvironmentsin interfaceDeploymentResultService- Returns:
- the latest environment status for environments ids passes as the first argument as a map of environment Id to EnvironmentStatus. Environments that have not been deployed will have a status with no result.
- Throws:
AccessDeniedException- if user has no access to requested environment.
-
getResultsWhereDeploymentVersionIsDeployedNow
@NotNull public @NotNull List<DeploymentResult> getResultsWhereDeploymentVersionIsDeployedNow(List<Long> environmentsId, long deploymentVersionId) - Specified by:
getResultsWhereDeploymentVersionIsDeployedNowin interfaceDeploymentResultService- Parameters:
environmentsId- list of environments to checkdeploymentVersionId-- Returns:
- list of deployment results that are now deployed on given environments
-