Class DeploymentResultServiceImpl

    • Method Detail

      • getLatestDeploymentResult

        @Nullable
        public @Nullable DeploymentResult getLatestDeploymentResult​(long environmentId,
                                                                    long deploymentVersionId)
        Description copied from interface: DeploymentResultService
        Retrieve 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:
        getLatestDeploymentResult in interface DeploymentResultService
        Parameters:
        environmentId - of the environment
        deploymentVersionId - of the version
        Returns:
        deployment result for a version against an environment.
      • getLatestKnownDeploymentResultForEnvironments

        @NotNull
        public @NotNull List<EnvironmentStatus> getLatestKnownDeploymentResultForEnvironments​(Iterable<? extends Environment> environments)
        Description copied from interface: DeploymentResultService
        Get 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:
        getLatestKnownDeploymentResultForEnvironments in interface DeploymentResultService
        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: DeploymentResultService
        Get 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:
        getLatestKnownDeploymentResultForEnvironmentsInProject in interface DeploymentResultService
        Parameters:
        deploymentProject - we want to retrieve latest DeploymentResults for
        Returns:
        the List of EnvironmentStatus that contain latest results.
      • getDeploymentResultsForEnvironment

        @NotNull
        public @NotNull List<DeploymentResult> getDeploymentResultsForEnvironment​(long environmentId,
                                                                                  int offset,
                                                                                  int maxResults)
        Description copied from interface: DeploymentResultService
        Get deployment results for environment. Sorted by started date, newest first, skips a number of results defined in 'offset' parameter, limits to 'maxResults'
        Specified by:
        getDeploymentResultsForEnvironment in interface DeploymentResultService
        Parameters:
        environmentId - id of environment to get results from
        Returns:
        List of deployment results
      • getDeploymentResultsForEnvironmentWithoutVariables

        @NotNull
        public @NotNull List<DeploymentResult> getDeploymentResultsForEnvironmentWithoutVariables​(long environmentId,
                                                                                                  int offset,
                                                                                                  int maxResults)
        Description copied from interface: DeploymentResultService
        Get deployment results for environment. Sorted by started date, newest first, skips a number of results defined in 'offset' parameter, limits to 'maxResults'
        Specified by:
        getDeploymentResultsForEnvironmentWithoutVariables in interface DeploymentResultService
        Parameters:
        environmentId - id of environment to get results from
        Returns:
        List of deployment results
      • getSuccessfulDeploymentResultsForEnvironment

        @NotNull
        public @NotNull List<DeploymentResult> getSuccessfulDeploymentResultsForEnvironment​(long environmentId,
                                                                                            int offset,
                                                                                            int maxResults)
        Description copied from interface: DeploymentResultService
        Get 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:
        getSuccessfulDeploymentResultsForEnvironment in interface DeploymentResultService
        Parameters:
        environmentId - id of environment to get results from
        Returns:
        List of successful deployment results
      • getDeploymentResultsForDeploymentVersion

        @NotNull
        public @NotNull List<DeploymentResult> getDeploymentResultsForDeploymentVersion​(long deploymentVersionId)
        Description copied from interface: DeploymentResultService
        Get 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:
        getDeploymentResultsForDeploymentVersion in interface DeploymentResultService
        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: DeploymentResultService
        Get all deployment results for deployment versions that ran against the specified environment.
        Specified by:
        getDeploymentResultsForDeploymentVersionAndEnvironment in interface DeploymentResultService
        Parameters:
        deploymentVersionId - id of deployment version
        environmentId - 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: DeploymentResultService
        Get 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:
        getDeploymentResultsForDeploymentVersionFinishedBefore in interface DeploymentResultService
        Parameters:
        deploymentVersionId - id of deployment version to get results from
        finishDate - 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: DeploymentResultService
        Get ids of all deployment results for deployment version finished before given date. Sorted by started date, oldest first.
        Specified by:
        getDeploymentResultIdsForDeploymentVersionFinishedBefore in interface DeploymentResultService
        Parameters:
        deploymentVersionId - id of deployment version to get results from
        finishDate - only select results finished before this date
        Returns:
        List of deployment results sorted by started data (oldest first)
      • getRollbackVersion

        public DeploymentVersion getRollbackVersion​(long environmentId)
        Description copied from interface: DeploymentResultService
        For 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:
        getRollbackVersion in interface DeploymentResultService
        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: DeploymentResultService
        For a given deployment result find the version that existed on the environment before that deployment.
        Specified by:
        getRollbackVersion in interface DeploymentResultService
        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: DeploymentResultService
        Update the build state of the Deployment Result
        Specified by:
        updateDeploymentState in interface DeploymentResultService
        Parameters:
        deploymentResultId - if of result to update
        deploymentState - new value of the build state to save
      • updateLifeCycleState

        public void updateLifeCycleState​(long deploymentResultId,
                                         @NotNull
                                         @NotNull LifeCycleState lifeCycleState)
        Description copied from interface: DeploymentResultService
        Update lifecycle state of the DeploymentResult. This method expects only PENDING and NOT_BUILD lifeCycleState.
        Specified by:
        updateLifeCycleState in interface DeploymentResultService
        Parameters:
        deploymentResultId - id of DeploymentResult
        lifeCycleState - lifecycle state to be set
      • setExecutingAgent

        public void setExecutingAgent​(long deploymentResultId,
                                      long agentId)
        Description copied from interface: DeploymentResultService
        Set the agent that the deployment is executing on.
        Specified by:
        setExecutingAgent in interface DeploymentResultService
        Parameters:
        deploymentResultId - id of the deployment result
        agentId - if of the agent
      • getLatestStatusForAllEnvironments

        public Map<Long,​EnvironmentStatus> getLatestStatusForAllEnvironments​(Map<Long,​Environment> environmentsById,
                                                                                   Map<Long,​DeploymentProject> deploymentProjectsById)
        Specified by:
        getLatestStatusForAllEnvironments in interface DeploymentResultService
        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.