Class DeploymentVersionServiceImpl
- All Implemented Interfaces:
DeploymentVersionDtoManager
,DeploymentVersionService
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.atlassian.bamboo.deployments.versions.service.DeploymentVersionService
DeploymentVersionService.DeploymentVersionNeededAttributes
-
Constructor Summary
ConstructorDescriptionDeploymentVersionServiceImpl
(@NotNull DeploymentProjectDao deploymentProjectDao, @NotNull DeploymentVersionDao deploymentVersionDao, @NotNull InternalResultsSummaryAccessor internalResultsSummaryAccessor, @NotNull DeploymentVersionChainResultDataCollector deploymentVersionChainResultDataCollector, @NotNull com.opensymphony.xwork2.TextProvider textProvider, @NotNull EnvironmentService environmentService, @NotNull BambooUserManager bambooUserService, @NotNull VariableDefinitionManager variableDefinitionManager, @NotNull VariableDefinitionFactory variableDefinitionFactory, @NotNull CustomVariableContext customVariableContext, @NotNull com.atlassian.event.api.EventPublisher eventPublisher, @NotNull CachedPlanManager cachedPlanManager, @NotNull ScopedExclusionService scopedExclusionService, @NotNull ResultsSummaryVariableAccessor resultsSummaryVariableAccessor, @NotNull RepositoryDefinitionManager repositoryDefinitionManager, @NotNull VcsRepositoryManager vcsRepositoryManager, @NotNull BambooCachingPermissionManagerFacadeFactory bambooCachingPermissionManagerFacadeFactory, @NotNull ArtifactLinkManager artifactLinkManager, @NotNull AuditLogService auditLogService) -
Method Summary
Modifier and TypeMethodDescription@NotNull DeploymentVersion
createDeploymentVersion
(long deploymentProjectId, @NotNull PlanResultKey planResultKey) Create a deployment version out of a deployment project and plan result.@NotNull DeploymentVersion
createDeploymentVersion
(long deploymentProjectId, @NotNull PlanResultKey planResultKey, @Nullable com.atlassian.user.User user, @Nullable String versionName, @Nullable String nextVersionName) Create a deployment version with a specific name.@NotNull Map<DeploymentVersion,
Integer> findLatestKnownVersionsForEnvironmentsOfDeploymentProject
(DeploymentProject deploymentProject) Find allDeploymentVersion
that are currently deployed on environments of aDeploymentProject
For each version found give number of environments it is present on.findNextVersionContainingResult
(long deploymentProjectId, @NotNull PlanResultKey planResultKey) Find the first version that is created from a result which is later than current result (not taking custom revision into account)@Nullable DeploymentVersion
findPreviousVersion
(long deploymentProjectId, long versionId) static @NotNull Optional<DeploymentVersionState>
findUserRelatedDeploymentVersionStatus
(@NotNull List<? extends DeploymentVersionStatus> versionStatuses, @NotNull String userName) @NotNull Multimap<DeploymentProject,
Pair<Long, PlanResultKey>> findVersionIdentifiersAssociatedWithJiraIssue
(@NotNull String issueKey) Find all the version identifiers that are associated with a JIRA issue, grouped byDeploymentProject
Note: this API is in its intermittent form and is subject to change.@NotNull List<DeploymentVersion>
findVersionsAssociatedWithJiraIssue
(long deploymentProjectId, @NotNull String issueKey) Find all the versions of aDeploymentProject
that are associated with a JIRA issue@NotNull Multimap<DeploymentProject,
DeploymentVersion> findVersionsAssociatedWithJiraIssue
(@NotNull String issueKey) Find all the version that are associated with a JIRA issue, grouped byDeploymentProject
@NotNull List<DeploymentVersion>
findVersionsBetween
(long deploymentProjectId, @NotNull DeploymentVersion version1, @NotNull DeploymentVersion version2) Find versions created between version1 and version2.@NotNull List<DeploymentVersion>
findVersionsBetweenNoVariables
(long deploymentProjectId, @NotNull DeploymentVersion version1, @NotNull DeploymentVersion version2) Find versions created between version1 and version2.@NotNull List<DeploymentVersionStatus>
getAllUsersLatestVersionStatusDtosOrderedByCreationDate
(long deploymentVersionId) @NotNull Map<Long,
List<DeploymentVersionStatus>> getAllUsersLatestVersionStatusesOrderedByCreationDate
(@NotNull List<Long> deploymentVersionIds) Find all users' latest version statuses for each version id ordered by creation date.@NotNull List<DeploymentVersion>
getDeploymentProjectVersions
(long deploymentProjectId) Retrieves the list of all the version for the deployment project, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts)@NotNull List<DeploymentVersion>
getDeploymentProjectVersionsNoVariables
(@NotNull DeploymentProject deploymentProject) Retrieves the list of all the version for the deployment project, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts)@NotNull List<DeploymentVersion>
getDeploymentProjectVersionsNoVariables
(@NotNull DeploymentProject deploymentProject, int offset, int maxResults) Retrieves the list of the version for the deployment project, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts).@NotNull List<DeploymentVersion>
getDeploymentProjectVersionsNoVariables
(@NotNull DeploymentProject deploymentProject, int offset, int maxResults, DeploymentVersionService.DeploymentVersionNeededAttributes deploymentVersionNeededAttributes) Retrieves the list of the version for the deployment project, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts).@Nullable DeploymentVersion
getDeploymentVersion
(long deploymentVersionId) Get DeploymentVersion by id@Nullable DeploymentVersion
getDeploymentVersion
(@Nullable DeploymentVersionDto dto, @Nullable DeploymentProject project, DeploymentVersionService.DeploymentVersionNeededAttributes deploymentVersionNeededAttributes) Convert a DeploymentVersionDto to aDeploymentVersion
.@Nullable DeploymentVersion
getDeploymentVersionByName
(@NotNull String existingVersionName, long deploymentProjectId) Get a specific version by name@NotNull String
getEvaluatedVersionName
(String nextVersionName, Map<String, VariableDefinitionContext> variables, Set<String> variablesToIncrement) @NotNull String
getIncrementedVersionName
(@NotNull String versionName) Calculates an increment of a version name.@Nullable DeploymentVersion
getLatestVersionForProject
(long deploymentProjectId) Find the latest version for a deployment project regardless of branch used to create it.@Nullable DeploymentVersion
getLatestVersionForProject
(long deploymentProjectId, @NotNull PlanKey branchKey) Find the latest version for a deployment project.@Nullable DeploymentVersionStatus
getLatestVersionStatus
(long deploymentVersionId) @NotNull Map<Long,
DeploymentVersionStatus> getLatestVersionStatuses
(@NotNull List<Long> deploymentVersionIds) Find a latest version status for each version id.@NotNull DeploymentVersion
getOrCreateDeploymentVersion
(long deploymentProjectId, @NotNull PlanResultKey planResultKey) Given a build result, find a deployment version that matches it, or create it if it doesn't exist.@NotNull Map<String,
VariableDefinitionContext> getPossibleVersionVariables
(@NotNull ImmutablePlan linkedPlan, boolean includeUndeterminable) Provides a map of variables which might show up on a version.@NotNull Map<String,
VariableDefinitionContext> getPossibleVersionVariables
(@NotNull ImmutablePlan linkedPlan, @Nullable PlanResultKey planResultKey, boolean includeUndeterminable) Provides a map of variables which might show up on a version.@NotNull Set<PlanResultKey>
getRelatedPlanResultKeys
(long deploymentVersionId) Retrieve the PlanResultKeys of ResultSummaries related to a particular DeploymentVersion@NotNull Map<Long,
PlanResultKey> getRelatedPlanResultKeys
(@NotNull Set<Long> deploymentVersionIds) Retrieve the PlanResultKeys of ResultSummaries related to a particular DeploymentVersions@Nullable DeploymentVersion
getRelatedVersion
(long deploymentProjectId, @NotNull PlanResultKey planResultKey) Find latest version of a deployment project that is related to specific plan result.getResultPlanKeysHavingDeploymentProjectVersions
(long deploymentProjectId) Returns keys of result plans (branch) that have at least one deployment project version (release)@NotNull List<VariableSubstitutionContext>
getVariableContextForVersion
(@org.jetbrains.annotations.NotNull long deploymentVersionId) Fetch variable context associated with a version.getVersionArtifacts
(@NotNull DeploymentVersion deploymentVersion) Find allArtifact
related to a version.getVersionNamePreview
(ResultsSummary resultsSummary, String versionName) Given a version name and a result summary, what would the version name look like after substitution.int
Count all versionsint
getVersionsCountForProject
(long deploymentProjectId) Count versions related to deployment projectint
getVersionsCountForProjectAndBranch
(@org.jetbrains.annotations.NotNull long deploymentProjectId, @NotNull PlanKey branchKey) Count versions related to deployment project and a specified plan branchboolean
hasVersionsUnrelatedToBranch
(long deploymentProjectId, @NotNull PlanKey branchKey) Test if there areDeploymentVersion
s in aDeploymentProject
that are unrelated to given branchboolean
isFromTheSameBranch
(long firstVersionId, long secondVersionId) Checks if both deployment versions come from the same branchboolean
isFromTheSameBranch
(String planKey, long versionId) Checks if the specified build result is on the same branch as the specified version IDboolean
isVersionNameConflicting
(long deploymentProjectId, @NotNull String name) Check whether the version name is already being used by another version within this project@NotNull DeploymentVersion
renameVersion
(long deploymentProjectId, @NotNull DeploymentVersion deploymentVersion, @NotNull String newVersionName) Rename a version.void
resetVersionsAge
(@NotNull DeploymentVersion deploymentVersion) Resets version's age to 0.@NotNull List<DeploymentVersion>
searchVersionsByBranch
(long deploymentProjectId, @NotNull PlanKey branchKey) Search for deployment versions in a project associated with a specific branch, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts)@NotNull List<DeploymentVersion>
searchVersionsByBranchAndName
(long deploymentProjectId, @NotNull PlanKey branchKey, @NotNull String searchTerm) Search for deployment versions in a project whose name contains the searchTerm, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts)@NotNull List<DeploymentVersion>
searchVersionsByBranchAndNameNoVariables
(@NotNull DeploymentProject deploymentProject, @NotNull PlanKey branchKey, @NotNull String searchTerm) Search for deployment versions in a project whose name contains the searchTerm and associated with a specific branch, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts)@NotNull List<DeploymentVersion>
searchVersionsByBranchAndNameNoVariables
(@NotNull DeploymentProject deploymentProject, @NotNull PlanKey branchKey, @NotNull String searchTerm, int offset, int maxResults, DeploymentVersionService.DeploymentVersionNeededAttributes deploymentVersionNeededAttributes) Search for deployment versions in a project whose name contains the searchTerm and associated with a specific branch, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts)@NotNull List<DeploymentVersion>
searchVersionsByBranchNoVariables
(@NotNull DeploymentProject deploymentProject, @NotNull PlanKey branchKey) Search for deployment versions in a project associated with a specific branch, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts)@NotNull List<DeploymentVersion>
searchVersionsByBranchNoVariables
(@NotNull DeploymentProject deploymentProject, @NotNull PlanKey branchKey, int startIndex, int maxResults) Search for deployment versions in a project associated with a specific branch, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts)@NotNull List<DeploymentVersion>
searchVersionsByBranchNoVariables
(@NotNull DeploymentProject deploymentProject, @NotNull PlanKey branchKey, int startIndex, int maxResults, @NotNull DeploymentVersionService.DeploymentVersionNeededAttributes deploymentVersionNeededAttributes) Search for deployment versions in a project associated with a specific branch, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts)@NotNull List<DeploymentVersion>
searchVersionsByName
(long deploymentProjectId, @NotNull String searchTerm) Search for deployment versions in a project whose name contains the searchTerm, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts)@NotNull List<DeploymentVersion>
searchVersionsByNameNoVariables
(@NotNull DeploymentProject deploymentProject, @NotNull String searchTerm) Search for deployment versions in a project whose name contains the searchTerm, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts)@NotNull List<DeploymentVersion>
searchVersionsByNameNoVariables
(@NotNull DeploymentProject deploymentProject, @NotNull String searchTerm, int offset, int maxResults, @NotNull DeploymentVersionService.DeploymentVersionNeededAttributes deploymentVersionNeededAttributes) Search for deployment versions in a project whose name contains the searchTerm, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts)void
updatePlanKey
(@NotNull PlanKey originalPlanKey, @NotNull PlanKey newPlanKey) Update planKey in DeploymentVersion's related entities when plan key has changed (ie after moving plan)void
updateVersionsForResult
(@NotNull PlanResultKey planResultKey) Update related versions data (artifacts and variables) after a chain stage has been completed.@NotNull DeploymentVersionStatus
updateVersionStatus
(long deploymentVersionId, @NotNull DeploymentVersionState status, @NotNull String userName) Updates the version status for given deployment version.@NotNull ErrorCollection
validateCreateDeploymentVersion
(long deploymentProjectId, @NotNull PlanResultKey planResultKey, @Nullable String name, @Nullable String nextVersionName) Validates values to be used for creating a new version.@NotNull ErrorCollection
validateDeploymentVersionRename
(long deploymentProjectId, @NotNull DeploymentVersion deploymentVersion, @Nullable String name) Validates values to be used for renaming version.
-
Constructor Details
-
DeploymentVersionServiceImpl
public DeploymentVersionServiceImpl(@NotNull @NotNull DeploymentProjectDao deploymentProjectDao, @NotNull @NotNull DeploymentVersionDao deploymentVersionDao, @NotNull @NotNull InternalResultsSummaryAccessor internalResultsSummaryAccessor, @NotNull @NotNull DeploymentVersionChainResultDataCollector deploymentVersionChainResultDataCollector, @NotNull @NotNull com.opensymphony.xwork2.TextProvider textProvider, @NotNull @NotNull EnvironmentService environmentService, @NotNull @NotNull BambooUserManager bambooUserService, @NotNull @NotNull VariableDefinitionManager variableDefinitionManager, @NotNull @NotNull VariableDefinitionFactory variableDefinitionFactory, @NotNull @NotNull CustomVariableContext customVariableContext, @NotNull @NotNull com.atlassian.event.api.EventPublisher eventPublisher, @NotNull @NotNull CachedPlanManager cachedPlanManager, @NotNull @NotNull ScopedExclusionService scopedExclusionService, @NotNull @NotNull ResultsSummaryVariableAccessor resultsSummaryVariableAccessor, @NotNull @NotNull RepositoryDefinitionManager repositoryDefinitionManager, @NotNull @NotNull VcsRepositoryManager vcsRepositoryManager, @NotNull @NotNull BambooCachingPermissionManagerFacadeFactory bambooCachingPermissionManagerFacadeFactory, @NotNull @NotNull ArtifactLinkManager artifactLinkManager, @NotNull @NotNull AuditLogService auditLogService)
-
-
Method Details
-
validateDeploymentVersionRename
@NotNull public @NotNull ErrorCollection validateDeploymentVersionRename(long deploymentProjectId, @NotNull @NotNull DeploymentVersion deploymentVersion, @Nullable @Nullable String name) Description copied from interface:DeploymentVersionService
Validates values to be used for renaming version.- Specified by:
validateDeploymentVersionRename
in interfaceDeploymentVersionService
- Returns:
- errorCollection containing any errors found. If no errors, an empty errorCollection will be returned.
-
renameVersion
@NotNull public @NotNull DeploymentVersion renameVersion(long deploymentProjectId, @NotNull @NotNull DeploymentVersion deploymentVersion, @NotNull @NotNull String newVersionName) throws WebValidationException Description copied from interface:DeploymentVersionService
Rename a version.- Specified by:
renameVersion
in interfaceDeploymentVersionService
- Returns:
- deploymentVersion with the name changed
- Throws:
WebValidationException
-
validateCreateDeploymentVersion
@NotNull public @NotNull ErrorCollection validateCreateDeploymentVersion(long deploymentProjectId, @NotNull @NotNull PlanResultKey planResultKey, @Nullable @Nullable String name, @Nullable @Nullable String nextVersionName) Description copied from interface:DeploymentVersionService
Validates values to be used for creating a new version.- Specified by:
validateCreateDeploymentVersion
in interfaceDeploymentVersionService
- Parameters:
deploymentProjectId
- id of the deployment projectplanResultKey
- key of the build result on which this version is createdname
- version namenextVersionName
- name of the next version- Returns:
- errorCollection containing any errors found. If no errors, an empty errorCollection will be returned.
-
isVersionNameConflicting
Description copied from interface:DeploymentVersionService
Check whether the version name is already being used by another version within this project- Specified by:
isVersionNameConflicting
in interfaceDeploymentVersionService
- Parameters:
deploymentProjectId
- project to filter byname
- to check- Returns:
- true if name is already being used.
-
getOrCreateDeploymentVersion
@NotNull public @NotNull DeploymentVersion getOrCreateDeploymentVersion(long deploymentProjectId, @NotNull @NotNull PlanResultKey planResultKey) throws WebValidationException Description copied from interface:DeploymentVersionService
Given a build result, find a deployment version that matches it, or create it if it doesn't exist. Uses automatic naming.- Specified by:
getOrCreateDeploymentVersion
in interfaceDeploymentVersionService
- Parameters:
deploymentProjectId
- of project to create version forplanResultKey
- of the result to pull artifacts from- Returns:
- deployment version
- Throws:
WebValidationException
-
updateVersionsForResult
Description copied from interface:DeploymentVersionService
Update related versions data (artifacts and variables) after a chain stage has been completed.- Specified by:
updateVersionsForResult
in interfaceDeploymentVersionService
-
createDeploymentVersion
@NotNull public @NotNull DeploymentVersion createDeploymentVersion(long deploymentProjectId, @NotNull @NotNull PlanResultKey planResultKey) throws WebValidationException Description copied from interface:DeploymentVersionService
Create a deployment version out of a deployment project and plan result. Automatic naming- Specified by:
createDeploymentVersion
in interfaceDeploymentVersionService
- Parameters:
deploymentProjectId
- of project to create version forplanResultKey
- of the result to pull artifacts from- Returns:
- created Deployment Version
- Throws:
WebValidationException
-
createDeploymentVersion
@NotNull public @NotNull DeploymentVersion createDeploymentVersion(long deploymentProjectId, @NotNull @NotNull PlanResultKey planResultKey, @Nullable @Nullable com.atlassian.user.User user, @Nullable @Nullable String versionName, @Nullable @Nullable String nextVersionName) throws WebValidationException Description copied from interface:DeploymentVersionService
Create a deployment version with a specific name. From deployment project and plan result. Assumes validation of name has been done.- Specified by:
createDeploymentVersion
in interfaceDeploymentVersionService
- Parameters:
deploymentProjectId
- project the version is getting created forplanResultKey
- of the result to pull artifacts fromuser
- the person who is creating this versionversionName
- name for the version to createnextVersionName
- the name for the next version (to be updated in version naming scheme)- Returns:
- created Deployment Version.
- Throws:
WebValidationException
-
getVariableContextForVersion
@NotNull public @NotNull List<VariableSubstitutionContext> getVariableContextForVersion(@NotNull @org.jetbrains.annotations.NotNull long deploymentVersionId) Description copied from interface:DeploymentVersionService
Fetch variable context associated with a version.- Specified by:
getVariableContextForVersion
in interfaceDeploymentVersionService
-
getVersionNamePreview
Description copied from interface:DeploymentVersionService
Given a version name and a result summary, what would the version name look like after substitution. Does not check/mutate for uniqueness.- Specified by:
getVersionNamePreview
in interfaceDeploymentVersionService
- Parameters:
resultsSummary
- the version would get created fromversionName
- the potential name of the version- Returns:
- substituted version name
-
resetVersionsAge
Description copied from interface:DeploymentVersionService
Resets version's age to 0.- Specified by:
resetVersionsAge
in interfaceDeploymentVersionService
-
getPossibleVersionVariables
@NotNull public @NotNull Map<String,VariableDefinitionContext> getPossibleVersionVariables(@NotNull @NotNull ImmutablePlan linkedPlan, boolean includeUndeterminable) Description copied from interface:DeploymentVersionService
Provides a map of variables which might show up on a version.- Specified by:
getPossibleVersionVariables
in interfaceDeploymentVersionService
- Parameters:
linkedPlan
- plan the deployment project is linked toincludeUndeterminable
- if true include variables that we don't currently know the value, with a nice example (used for display purposes)- Returns:
- a map of variables which might show up on a version.
-
getPossibleVersionVariables
@NotNull public @NotNull Map<String,VariableDefinitionContext> getPossibleVersionVariables(@NotNull @NotNull ImmutablePlan linkedPlan, @Nullable @Nullable PlanResultKey planResultKey, boolean includeUndeterminable) Description copied from interface:DeploymentVersionService
Provides a map of variables which might show up on a version.- Specified by:
getPossibleVersionVariables
in interfaceDeploymentVersionService
- Parameters:
linkedPlan
- plan the deployment project is linked toplanResultKey
- resultKey for result variables contextincludeUndeterminable
- if true include variables that we don't currently know the value, with a nice example (used for display purposes)- Returns:
- a map of variables which might show up on a version.
-
getDeploymentVersion
Description copied from interface:DeploymentVersionService
Get DeploymentVersion by id- Specified by:
getDeploymentVersion
in interfaceDeploymentVersionService
-
getDeploymentVersion
@Nullable @Internal public @Nullable DeploymentVersion getDeploymentVersion(@Nullable @Nullable DeploymentVersionDto dto, @Nullable @Nullable DeploymentProject project, @NotNull DeploymentVersionService.DeploymentVersionNeededAttributes deploymentVersionNeededAttributes) throws org.acegisecurity.AccessDeniedException Description copied from interface:DeploymentVersionDtoManager
Convert a DeploymentVersionDto to aDeploymentVersion
.- Specified by:
getDeploymentVersion
in interfaceDeploymentVersionDtoManager
- Throws:
org.acegisecurity.AccessDeniedException
- if theDeploymentVersion
is inaccessible to the current user, but also marks the current transaction as rollback-only
-
getResultPlanKeysHavingDeploymentProjectVersions
@NotNull public @NotNull Set<String> getResultPlanKeysHavingDeploymentProjectVersions(long deploymentProjectId) Description copied from interface:DeploymentVersionService
Returns keys of result plans (branch) that have at least one deployment project version (release)- Specified by:
getResultPlanKeysHavingDeploymentProjectVersions
in interfaceDeploymentVersionService
- Parameters:
deploymentProjectId
- id of the deployment project- Returns:
-
getDeploymentProjectVersions
@NotNull public @NotNull List<DeploymentVersion> getDeploymentProjectVersions(long deploymentProjectId) Description copied from interface:DeploymentVersionService
Retrieves the list of all the version for the deployment project, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts)This method fetches complete version data,
DeploymentVersionService.getDeploymentProjectVersionsNoVariables(DeploymentProject)
should be preferred when variable data is not required, e.g. for displaying list of version in the UI.- Specified by:
getDeploymentProjectVersions
in interfaceDeploymentVersionService
- Parameters:
deploymentProjectId
- id of the deployment project- Returns:
- all the versions for the specified deployment project. Empty list if deployment project not found or if there is no versions for it.
-
getDeploymentProjectVersionsNoVariables
@NotNull public @NotNull List<DeploymentVersion> getDeploymentProjectVersionsNoVariables(@NotNull @NotNull DeploymentProject deploymentProject) Description copied from interface:DeploymentVersionService
Retrieves the list of all the version for the deployment project, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts)- Specified by:
getDeploymentProjectVersionsNoVariables
in interfaceDeploymentVersionService
- Parameters:
deploymentProject
- deployment project- Returns:
- all the versions for the specified deployment project. Empty list if deployment project not found or if there is no versions for it.
-
getDeploymentProjectVersionsNoVariables
@NotNull public @NotNull List<DeploymentVersion> getDeploymentProjectVersionsNoVariables(@NotNull @NotNull DeploymentProject deploymentProject, int offset, int maxResults) Description copied from interface:DeploymentVersionService
Retrieves the list of the version for the deployment project, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts).- Specified by:
getDeploymentProjectVersionsNoVariables
in interfaceDeploymentVersionService
- Parameters:
deploymentProject
- deployment projectoffset
- number of results to skipmaxResults
- maximum length of the returned list- Returns:
- the versions for the specified deployment project. Empty list if deployment project not found or if there is no versions for it.
-
getDeploymentProjectVersionsNoVariables
@NotNull public @NotNull List<DeploymentVersion> getDeploymentProjectVersionsNoVariables(@NotNull @NotNull DeploymentProject deploymentProject, int offset, int maxResults, @NotNull DeploymentVersionService.DeploymentVersionNeededAttributes deploymentVersionNeededAttributes) Description copied from interface:DeploymentVersionService
Retrieves the list of the version for the deployment project, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts).- Specified by:
getDeploymentProjectVersionsNoVariables
in interfaceDeploymentVersionService
- Parameters:
deploymentProject
- deployment projectoffset
- number of results to skipmaxResults
- maximum length of the returned listdeploymentVersionNeededAttributes
- specify whether certain attributes will be loaded or not.- Returns:
- the versions for the specified deployment project. Empty list if deployment project not found or if there is no versions for it.
-
getLatestVersionForProject
Description copied from interface:DeploymentVersionService
Find the latest version for a deployment project regardless of branch used to create it. Comparison based on creation date.- Specified by:
getLatestVersionForProject
in interfaceDeploymentVersionService
- Parameters:
deploymentProjectId
- of the deployment project- Returns:
- the latest version for a deployment project
-
getLatestVersionForProject
@Nullable public @Nullable DeploymentVersion getLatestVersionForProject(long deploymentProjectId, @NotNull @NotNull PlanKey branchKey) Description copied from interface:DeploymentVersionService
Find the latest version for a deployment project. Comparison based on creation date.- Specified by:
getLatestVersionForProject
in interfaceDeploymentVersionService
- Parameters:
deploymentProjectId
- of the deployment projectbranchKey
- key of the PlanBranch- Returns:
- the latest version created for a branch for a deployment project
-
getDeploymentVersionByName
@Nullable public @Nullable DeploymentVersion getDeploymentVersionByName(@NotNull @NotNull String existingVersionName, long deploymentProjectId) Description copied from interface:DeploymentVersionService
Get a specific version by name- Specified by:
getDeploymentVersionByName
in interfaceDeploymentVersionService
- Parameters:
existingVersionName
- name of the version- Returns:
- the Deployment version with given name if found, otherwise null.
-
searchVersionsByName
@NotNull public @NotNull List<DeploymentVersion> searchVersionsByName(long deploymentProjectId, @NotNull @NotNull String searchTerm) Description copied from interface:DeploymentVersionService
Search for deployment versions in a project whose name contains the searchTerm, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts)This method fetches complete version data,
DeploymentVersionService.searchVersionsByNameNoVariables(DeploymentProject, String)
should be preferred when variable data is not required, e.g. for displaying list of version in the UI.- Specified by:
searchVersionsByName
in interfaceDeploymentVersionService
- Parameters:
deploymentProjectId
- deployment project to search withinsearchTerm
- term to look for.- Returns:
- list of Deployment Versions matching the search criteria
-
searchVersionsByBranch
@NotNull public @NotNull List<DeploymentVersion> searchVersionsByBranch(long deploymentProjectId, @NotNull @NotNull PlanKey branchKey) Description copied from interface:DeploymentVersionService
Search for deployment versions in a project associated with a specific branch, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts)This method fetches complete version data,
DeploymentVersionService.searchVersionsByBranchNoVariables(DeploymentProject, PlanKey)
should be preferred when variable data is not required, e.g. for displaying list of version in the UI.- Specified by:
searchVersionsByBranch
in interfaceDeploymentVersionService
- Parameters:
deploymentProjectId
- deployment project to search withinbranchKey
- plan branch to narrow search result- Returns:
- list of Deployment Versions matching the search criteria
-
searchVersionsByBranchAndName
@NotNull public @NotNull List<DeploymentVersion> searchVersionsByBranchAndName(long deploymentProjectId, @NotNull @NotNull PlanKey branchKey, @NotNull @NotNull String searchTerm) Description copied from interface:DeploymentVersionService
Search for deployment versions in a project whose name contains the searchTerm, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts)This method fetches complete version data,
DeploymentVersionService.searchVersionsByBranchAndNameNoVariables(DeploymentProject, PlanKey, String)
should be preferred when variable data is not required, e.g. for displaying list of version in the UI.- Specified by:
searchVersionsByBranchAndName
in interfaceDeploymentVersionService
- Parameters:
deploymentProjectId
- deployment project to search withinbranchKey
- plan branch to narrow search resultsearchTerm
- term to look for.- Returns:
- list of Deployment Versions matching the search criteria
-
searchVersionsByNameNoVariables
@NotNull public @NotNull List<DeploymentVersion> searchVersionsByNameNoVariables(@NotNull @NotNull DeploymentProject deploymentProject, @NotNull @NotNull String searchTerm) Description copied from interface:DeploymentVersionService
Search for deployment versions in a project whose name contains the searchTerm, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts)- Specified by:
searchVersionsByNameNoVariables
in interfaceDeploymentVersionService
- Parameters:
deploymentProject
- deployment project to search withinsearchTerm
- term to look for.- Returns:
- list of Deployment Versions matching the search criteria
-
searchVersionsByNameNoVariables
@NotNull public @NotNull List<DeploymentVersion> searchVersionsByNameNoVariables(@NotNull @NotNull DeploymentProject deploymentProject, @NotNull @NotNull String searchTerm, int offset, int maxResults, @NotNull @NotNull DeploymentVersionService.DeploymentVersionNeededAttributes deploymentVersionNeededAttributes) Description copied from interface:DeploymentVersionService
Search for deployment versions in a project whose name contains the searchTerm, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts)- Specified by:
searchVersionsByNameNoVariables
in interfaceDeploymentVersionService
- Parameters:
deploymentProject
- deployment project to search withinsearchTerm
- term to look for.offset
- number of results to skipmaxResults
- maximum length of the returned listdeploymentVersionNeededAttributes
- specify whether certain attributes will be loaded or not.- Returns:
- list of Deployment Versions matching the search criteria
-
searchVersionsByBranchNoVariables
@NotNull public @NotNull List<DeploymentVersion> searchVersionsByBranchNoVariables(@NotNull @NotNull DeploymentProject deploymentProject, @NotNull @NotNull PlanKey branchKey) Description copied from interface:DeploymentVersionService
Search for deployment versions in a project associated with a specific branch, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts)- Specified by:
searchVersionsByBranchNoVariables
in interfaceDeploymentVersionService
- Parameters:
deploymentProject
- deployment project to search withinbranchKey
- plan branch to narrow search result- Returns:
- list of Deployment Versions matching the search criteria
-
searchVersionsByBranchNoVariables
@NotNull public @NotNull List<DeploymentVersion> searchVersionsByBranchNoVariables(@NotNull @NotNull DeploymentProject deploymentProject, @NotNull @NotNull PlanKey branchKey, int startIndex, int maxResults) Description copied from interface:DeploymentVersionService
Search for deployment versions in a project associated with a specific branch, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts)- Specified by:
searchVersionsByBranchNoVariables
in interfaceDeploymentVersionService
- Parameters:
deploymentProject
- deployment project to search withinbranchKey
- plan branch to narrow search result- Returns:
- list of Deployment Versions matching the search criteria
-
searchVersionsByBranchNoVariables
@NotNull public @NotNull List<DeploymentVersion> searchVersionsByBranchNoVariables(@NotNull @NotNull DeploymentProject deploymentProject, @NotNull @NotNull PlanKey branchKey, int startIndex, int maxResults, @NotNull @NotNull DeploymentVersionService.DeploymentVersionNeededAttributes deploymentVersionNeededAttributes) Description copied from interface:DeploymentVersionService
Search for deployment versions in a project associated with a specific branch, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts)- Specified by:
searchVersionsByBranchNoVariables
in interfaceDeploymentVersionService
- Parameters:
deploymentProject
- deployment project to search withinbranchKey
- plan branch to narrow search resultstartIndex
- number of results to skipmaxResults
- maximum length of the returned listdeploymentVersionNeededAttributes
- specify whether certain attributes will be loaded or not.- Returns:
- list of Deployment Versions matching the search criteria
-
searchVersionsByBranchAndNameNoVariables
@NotNull public @NotNull List<DeploymentVersion> searchVersionsByBranchAndNameNoVariables(@NotNull @NotNull DeploymentProject deploymentProject, @NotNull @NotNull PlanKey branchKey, @NotNull @NotNull String searchTerm) Description copied from interface:DeploymentVersionService
Search for deployment versions in a project whose name contains the searchTerm and associated with a specific branch, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts)- Specified by:
searchVersionsByBranchAndNameNoVariables
in interfaceDeploymentVersionService
- Parameters:
deploymentProject
- deployment project to search withinbranchKey
- plan branch to narrow search resultsearchTerm
- term to look for.- Returns:
- list of Deployment Versions matching the search criteria
-
searchVersionsByBranchAndNameNoVariables
@NotNull public @NotNull List<DeploymentVersion> searchVersionsByBranchAndNameNoVariables(@NotNull @NotNull DeploymentProject deploymentProject, @NotNull @NotNull PlanKey branchKey, @NotNull @NotNull String searchTerm, int offset, int maxResults, @NotNull DeploymentVersionService.DeploymentVersionNeededAttributes deploymentVersionNeededAttributes) Description copied from interface:DeploymentVersionService
Search for deployment versions in a project whose name contains the searchTerm and associated with a specific branch, sorted by CreationDate (the most recent Deployment Versions will be returned as firsts)- Specified by:
searchVersionsByBranchAndNameNoVariables
in interfaceDeploymentVersionService
- Parameters:
deploymentProject
- deployment project to search withinbranchKey
- plan branch to narrow search resultsearchTerm
- term to look for.offset
- number of results to skipmaxResults
- maximum length of the returned listdeploymentVersionNeededAttributes
- specify whether certain attributes will be loaded or not.- Returns:
- list of Deployment Versions matching the search criteria
-
getVersionsCount
public int getVersionsCount()Description copied from interface:DeploymentVersionService
Count all versions- Specified by:
getVersionsCount
in interfaceDeploymentVersionService
- Returns:
- number of versions created in all deployment projects
-
getVersionsCountForProject
public int getVersionsCountForProject(long deploymentProjectId) Description copied from interface:DeploymentVersionService
Count versions related to deployment project- Specified by:
getVersionsCountForProject
in interfaceDeploymentVersionService
- Parameters:
deploymentProjectId
- id of deployment project- Returns:
- number of versions created in deployment project
-
getVersionsCountForProjectAndBranch
public int getVersionsCountForProjectAndBranch(@NotNull @org.jetbrains.annotations.NotNull long deploymentProjectId, @NotNull @NotNull PlanKey branchKey) Description copied from interface:DeploymentVersionService
Count versions related to deployment project and a specified plan branch- Specified by:
getVersionsCountForProjectAndBranch
in interfaceDeploymentVersionService
- Parameters:
deploymentProjectId
- id of deployment projectbranchKey
- plan branch key- Returns:
- number of versions created in deployment project
-
getRelatedPlanResultKeys
Description copied from interface:DeploymentVersionService
Retrieve the PlanResultKeys of ResultSummaries related to a particular DeploymentVersion- Specified by:
getRelatedPlanResultKeys
in interfaceDeploymentVersionService
-
getRelatedPlanResultKeys
@NotNull public @NotNull Map<Long,PlanResultKey> getRelatedPlanResultKeys(@NotNull @NotNull Set<Long> deploymentVersionIds) Description copied from interface:DeploymentVersionService
Retrieve the PlanResultKeys of ResultSummaries related to a particular DeploymentVersions- Specified by:
getRelatedPlanResultKeys
in interfaceDeploymentVersionService
-
isFromTheSameBranch
public boolean isFromTheSameBranch(long firstVersionId, long secondVersionId) Description copied from interface:DeploymentVersionService
Checks if both deployment versions come from the same branch- Specified by:
isFromTheSameBranch
in interfaceDeploymentVersionService
- Parameters:
firstVersionId
- first deployment versionsecondVersionId
- second deployment version- Returns:
-
isFromTheSameBranch
Description copied from interface:DeploymentVersionService
Checks if the specified build result is on the same branch as the specified version ID- Specified by:
isFromTheSameBranch
in interfaceDeploymentVersionService
- Parameters:
planKey
- the planKey of the build result you want to compareversionId
- the version ID of the version you want to compare- Returns:
-
getLatestVersionStatus
- Specified by:
getLatestVersionStatus
in interfaceDeploymentVersionService
-
getAllUsersLatestVersionStatusDtosOrderedByCreationDate
@NotNull public @NotNull List<DeploymentVersionStatus> getAllUsersLatestVersionStatusDtosOrderedByCreationDate(long deploymentVersionId) - Specified by:
getAllUsersLatestVersionStatusDtosOrderedByCreationDate
in interfaceDeploymentVersionService
- Returns:
- all users' version statuses for the requested deploymentVersionId.
-
getLatestVersionStatuses
@NotNull public @NotNull Map<Long,DeploymentVersionStatus> getLatestVersionStatuses(@NotNull @NotNull List<Long> deploymentVersionIds) Description copied from interface:DeploymentVersionService
Find a latest version status for each version id. If no version status is available, the resulting map will not contain corresponding entry.- Specified by:
getLatestVersionStatuses
in interfaceDeploymentVersionService
-
getAllUsersLatestVersionStatusesOrderedByCreationDate
@NotNull public @NotNull Map<Long,List<DeploymentVersionStatus>> getAllUsersLatestVersionStatusesOrderedByCreationDate(@NotNull @NotNull List<Long> deploymentVersionIds) Description copied from interface:DeploymentVersionService
Find all users' latest version statuses for each version id ordered by creation date. If no version status is available, the resulting map will contain empty list.- Specified by:
getAllUsersLatestVersionStatusesOrderedByCreationDate
in interfaceDeploymentVersionService
-
updateVersionStatus
@NotNull public @NotNull DeploymentVersionStatus updateVersionStatus(long deploymentVersionId, @NotNull @NotNull DeploymentVersionState status, @NotNull @NotNull String userName) Description copied from interface:DeploymentVersionService
Updates the version status for given deployment version.- Specified by:
updateVersionStatus
in interfaceDeploymentVersionService
-
findVersionsBetween
@NotNull public @NotNull List<DeploymentVersion> findVersionsBetween(long deploymentProjectId, @NotNull @NotNull DeploymentVersion version1, @NotNull @NotNull DeploymentVersion version2) Description copied from interface:DeploymentVersionService
Find versions created between version1 and version2. The versions must be different but belong to the sameDeploymentProject
The order of the argument is irrelevant: the method will determine which of the versions is the lower bound. Lower bound is not included in result but upper bound is. The result is sorted by creation date (newest first)- Specified by:
findVersionsBetween
in interfaceDeploymentVersionService
-
findVersionsBetweenNoVariables
@NotNull public @NotNull List<DeploymentVersion> findVersionsBetweenNoVariables(long deploymentProjectId, @NotNull @NotNull DeploymentVersion version1, @NotNull @NotNull DeploymentVersion version2) Description copied from interface:DeploymentVersionService
Find versions created between version1 and version2. The versions must be different but belong to the sameDeploymentProject
The order of the argument is irrelevant: the method will determine which of the versions is the lower bound. Lower bound is not included in result but upper bound is. The result is sorted by creation date (newest first)- Specified by:
findVersionsBetweenNoVariables
in interfaceDeploymentVersionService
-
findPreviousVersion
@Nullable public @Nullable DeploymentVersion findPreviousVersion(long deploymentProjectId, long versionId) - Specified by:
findPreviousVersion
in interfaceDeploymentVersionService
-
getVersionArtifacts
@NotNull public @NotNull Multimap<String,Artifact> getVersionArtifacts(@NotNull @NotNull DeploymentVersion deploymentVersion) Description copied from interface:DeploymentVersionService
Find allArtifact
related to a version.- Specified by:
getVersionArtifacts
in interfaceDeploymentVersionService
- Returns:
-
getRelatedVersion
@Nullable public @Nullable DeploymentVersion getRelatedVersion(long deploymentProjectId, @NotNull @NotNull PlanResultKey planResultKey) Description copied from interface:DeploymentVersionService
Find latest version of a deployment project that is related to specific plan result.- Specified by:
getRelatedVersion
in interfaceDeploymentVersionService
- Returns:
-
findNextVersionContainingResult
public DeploymentVersion findNextVersionContainingResult(long deploymentProjectId, @NotNull @NotNull PlanResultKey planResultKey) Description copied from interface:DeploymentVersionService
Find the first version that is created from a result which is later than current result (not taking custom revision into account)- Specified by:
findNextVersionContainingResult
in interfaceDeploymentVersionService
- Returns:
-
getIncrementedVersionName
Description copied from interface:DeploymentVersionService
Calculates an increment of a version name. Increments last number in the name. If nothing found to increment will return passed in value.- Specified by:
getIncrementedVersionName
in interfaceDeploymentVersionService
- Parameters:
versionName
- to increment- Returns:
- incremented version name.
-
getEvaluatedVersionName
@NotNull public @NotNull String getEvaluatedVersionName(String nextVersionName, Map<String, VariableDefinitionContext> variables, Set<String> variablesToIncrement) - Specified by:
getEvaluatedVersionName
in interfaceDeploymentVersionService
- Returns:
-
updatePlanKey
public void updatePlanKey(@NotNull @NotNull PlanKey originalPlanKey, @NotNull @NotNull PlanKey newPlanKey) Description copied from interface:DeploymentVersionService
Update planKey in DeploymentVersion's related entities when plan key has changed (ie after moving plan)- Specified by:
updatePlanKey
in interfaceDeploymentVersionService
- Parameters:
originalPlanKey
- original PlanKeynewPlanKey
- new PlanKey
-
findVersionsAssociatedWithJiraIssue
@NotNull public @NotNull List<DeploymentVersion> findVersionsAssociatedWithJiraIssue(long deploymentProjectId, @NotNull @NotNull String issueKey) Description copied from interface:DeploymentVersionService
Find all the versions of aDeploymentProject
that are associated with a JIRA issue- Specified by:
findVersionsAssociatedWithJiraIssue
in interfaceDeploymentVersionService
-
findVersionsAssociatedWithJiraIssue
@NotNull public @NotNull Multimap<DeploymentProject,DeploymentVersion> findVersionsAssociatedWithJiraIssue(@NotNull @NotNull String issueKey) Description copied from interface:DeploymentVersionService
Find all the version that are associated with a JIRA issue, grouped byDeploymentProject
- Specified by:
findVersionsAssociatedWithJiraIssue
in interfaceDeploymentVersionService
-
findVersionIdentifiersAssociatedWithJiraIssue
@NotNull public @NotNull Multimap<DeploymentProject,Pair<Long, findVersionIdentifiersAssociatedWithJiraIssuePlanResultKey>> (@NotNull @NotNull String issueKey) Description copied from interface:DeploymentVersionService
Find all the version identifiers that are associated with a JIRA issue, grouped byDeploymentProject
Note: this API is in its intermittent form and is subject to change.- Specified by:
findVersionIdentifiersAssociatedWithJiraIssue
in interfaceDeploymentVersionService
-
findLatestKnownVersionsForEnvironmentsOfDeploymentProject
@NotNull public @NotNull Map<DeploymentVersion,Integer> findLatestKnownVersionsForEnvironmentsOfDeploymentProject(DeploymentProject deploymentProject) Description copied from interface:DeploymentVersionService
Find allDeploymentVersion
that are currently deployed on environments of aDeploymentProject
For each version found give number of environments it is present on.- Specified by:
findLatestKnownVersionsForEnvironmentsOfDeploymentProject
in interfaceDeploymentVersionService
- Returns:
-
findUserRelatedDeploymentVersionStatus
@NotNull public static @NotNull Optional<DeploymentVersionState> findUserRelatedDeploymentVersionStatus(@NotNull @NotNull List<? extends DeploymentVersionStatus> versionStatuses, @NotNull @NotNull String userName)
-