public interface DeploymentVersionService
Modifier and Type | Method and Description |
---|---|
@NotNull DeploymentVersion |
createDeploymentVersion(long deploymentProjectId,
@NotNull PlanResultKey planResultKey)
Deprecated.
since 5.6 use
getOrCreateDeploymentVersion(long, PlanResultKey) |
@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 all
DeploymentVersion that are currently deployed on environments of a DeploymentProject
For each version found give number of environments it is present on. |
DeploymentVersion |
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) |
@NotNull List<DeploymentVersion> |
findVersionsAssociatedWithJiraIssue(long deploymentProjectId,
@NotNull String issueKey)
Find all the versions of a
DeploymentProject that are associated with a JIRA issue |
@NotNull com.google.common.collect.Multimap<DeploymentProject,DeploymentVersion> |
findVersionsAssociatedWithJiraIssue(@NotNull String issueKey)
Find all the version that are associated with a JIRA issue, grouped by
DeploymentProject |
@NotNull List<DeploymentVersion> |
findVersionsBetween(long deploymentProjectId,
@NotNull DeploymentVersion version1,
@NotNull DeploymentVersion version2)
Deprecated.
since 6.8 as it fetches variables, which is not efficient. Use
findVersionsBetweenNoVariables(long, DeploymentVersion, DeploymentVersion) instead. |
@NotNull List<DeploymentVersion> |
findVersionsBetweenNoVariables(@NotNull long deploymentProjectId,
@NotNull DeploymentVersion version1,
@NotNull DeploymentVersion version2)
Find versions created between version1 and version2.
|
@NotNull List<DeploymentVersion> |
getDeploymentProjectVersions(long deploymentProjectId)
Deprecated.
since 6.7 for performance reasons use
getDeploymentProjectVersionsNoVariables(DeploymentProject) |
@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).
|
@Nullable DeploymentVersion |
getDeploymentVersion(long deploymentVersionId)
Get DeploymentVersion by id
|
@Nullable DeploymentVersion |
getDeploymentVersionByName(@NotNull String existingVersion,
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)
Deprecated.
since 5.1 use
getLatestVersionForProject(long, PlanKey) |
@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.
|
Set<PlanResultKey> |
getRelatedPlanResultKeys(long deploymentVersionId) |
@Nullable DeploymentVersion |
getRelatedVersion(long deploymentProjectId,
@NotNull PlanResultKey planResultKey)
Find latest version of a deployment project that is related to specific plan result.
|
@NotNull Set<String> |
getResultPlanKeysHavingDeploymentProjectVersions(long deploymentProjectId)
Returns keys of result plans (branch) that have at least one deployment project version (release)
|
@NotNull com.google.common.collect.ImmutableList<VariableSubstitutionContext> |
getVariableContextForVersion(@NotNull long deploymentVersionId)
Fetch variable context associated with a version.
|
@NotNull com.google.common.collect.Multimap<String,Artifact> |
getVersionArtifacts(@NotNull DeploymentVersion deploymentVersion)
Find all
Artifact related to a version. |
String |
getVersionNamePreview(ResultsSummary resultsSummary,
String versionName)
Given a version name and a result summary, what would the version name look like after substitution.
|
int |
getVersionsCount()
Count all versions
|
int |
getVersionsCountForProject(long deploymentProjectId)
Count versions related to deployment project
|
int |
getVersionsCountForProjectAndBranch(@NotNull long deploymentProjectId,
@NotNull PlanKey branchKey)
Count versions related to deployment project and a specified plan branch
|
boolean |
hasVersionsUnrelatedToBranch(long deploymentProjectId,
@NotNull PlanKey branchKey)
Test if there are
DeploymentVersion s in a DeploymentProject that are unrelated to given branch |
boolean |
isFromTheSameBranch(long firstVersionId,
long secondVersionId)
Checks if both deployment versions come from the same branch
|
boolean |
isFromTheSameBranch(String planKey,
long versionId)
Checks if the specified build result is on the same branch as the specified version ID
|
boolean |
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)
Deprecated.
since 6.7 for performance reasons use
searchVersionsByBranchNoVariables(DeploymentProject, PlanKey) |
@NotNull List<DeploymentVersion> |
searchVersionsByBranchAndName(long deploymentProjectId,
@NotNull PlanKey branchKey,
@NotNull String searchTerm)
Deprecated.
since 6.7 for performance reasons use
searchVersionsByNameNoVariables(DeploymentProject, String) |
@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> |
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> |
searchVersionsByName(long deploymentProjectId,
@NotNull String searchTerm)
Deprecated.
since 6.7 for performance reasons use
searchVersionsByNameNoVariables(DeploymentProject, String) |
@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)
|
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.
|
@NotNull @NotNull ErrorCollection validateCreateDeploymentVersion(long deploymentProjectId, @NotNull @NotNull PlanResultKey planResultKey, @Nullable @Nullable String name, @Nullable @Nullable String nextVersionName)
deploymentProjectId
- id of the deployment projectplanResultKey
- key of the build result on which this version is createdname
- version namenextVersionName
- name of the next versionboolean isVersionNameConflicting(long deploymentProjectId, @NotNull @NotNull String name)
deploymentProjectId
- project to filter byname
- to check@NotNull @NotNull ErrorCollection validateDeploymentVersionRename(long deploymentProjectId, @NotNull @NotNull DeploymentVersion deploymentVersion, @Nullable @Nullable String name)
deploymentProjectId
- deploymentVersion
- name
- @NotNull @Deprecated @NotNull DeploymentVersion createDeploymentVersion(long deploymentProjectId, @NotNull @NotNull PlanResultKey planResultKey) throws WebValidationException
getOrCreateDeploymentVersion(long, PlanResultKey)
deploymentProjectId
- of project to create version forplanResultKey
- of the result to pull artifacts fromWebValidationException
@NotNull @NotNull DeploymentVersion getOrCreateDeploymentVersion(long deploymentProjectId, @NotNull @NotNull PlanResultKey planResultKey) throws WebValidationException
deploymentProjectId
- of project to create version forplanResultKey
- of the result to pull artifacts fromWebValidationException
@NotNull @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
deploymentProjectId
- project the version is getting created forplanResultKey
- of the result to pull artifacts fromversionName
- name for the version to createnextVersionName
- the name for the next version (to be updated in version naming scheme)user
- the person who is creating this versionWebValidationException
@Nullable @Nullable DeploymentVersion getDeploymentVersion(long deploymentVersionId)
@NotNull @NotNull Set<String> getResultPlanKeysHavingDeploymentProjectVersions(long deploymentProjectId)
deploymentProjectId
- id of the deployment project@NotNull @Deprecated @NotNull List<DeploymentVersion> getDeploymentProjectVersions(long deploymentProjectId)
getDeploymentProjectVersionsNoVariables(DeploymentProject)
This method fetches complete version data, getDeploymentProjectVersionsNoVariables(DeploymentProject)
should be preferred when variable data is not required, e.g. for displaying list of version in the UI.
deploymentProjectId
- id of the deployment project@NotNull @Deprecated @NotNull List<DeploymentVersion> searchVersionsByName(long deploymentProjectId, @NotNull @NotNull String searchTerm)
searchVersionsByNameNoVariables(DeploymentProject, String)
This method fetches complete version data, searchVersionsByNameNoVariables(DeploymentProject, String)
should be preferred when variable data is not required, e.g. for displaying list of version in the UI.
deploymentProjectId
- deployment project to search withinsearchTerm
- term to look for.@NotNull @Deprecated @NotNull List<DeploymentVersion> searchVersionsByBranch(long deploymentProjectId, @NotNull @NotNull PlanKey branchKey)
searchVersionsByBranchNoVariables(DeploymentProject, PlanKey)
This method fetches complete version data, searchVersionsByBranchNoVariables(DeploymentProject, PlanKey)
should be preferred when variable data is not required, e.g. for displaying list of version in the UI.
deploymentProjectId
- deployment project to search withinbranchKey
- plan branch to narrow search result@NotNull @Deprecated @NotNull List<DeploymentVersion> searchVersionsByBranchAndName(long deploymentProjectId, @NotNull @NotNull PlanKey branchKey, @NotNull @NotNull String searchTerm)
searchVersionsByNameNoVariables(DeploymentProject, String)
This method fetches complete version data, searchVersionsByBranchAndNameNoVariables(DeploymentProject, PlanKey, String)
should be preferred when variable data is not required, e.g. for displaying list of version in the UI.
deploymentProjectId
- deployment project to search withinbranchKey
- plan branch to narrow search resultsearchTerm
- term to look for.@NotNull @NotNull List<DeploymentVersion> searchVersionsByNameNoVariables(@NotNull @NotNull DeploymentProject deploymentProject, @NotNull @NotNull String searchTerm)
deploymentProject
- deployment project to search withinsearchTerm
- term to look for.@NotNull @NotNull List<DeploymentVersion> searchVersionsByBranchNoVariables(@NotNull @NotNull DeploymentProject deploymentProject, @NotNull @NotNull PlanKey branchKey)
deploymentProject
- deployment project to search withinbranchKey
- plan branch to narrow search result@NotNull @NotNull List<DeploymentVersion> searchVersionsByBranchNoVariables(@NotNull @NotNull DeploymentProject deploymentProject, @NotNull @NotNull PlanKey branchKey, int startIndex, int maxResults)
deploymentProject
- deployment project to search withinbranchKey
- plan branch to narrow search result@NotNull @NotNull List<DeploymentVersion> searchVersionsByBranchAndNameNoVariables(@NotNull @NotNull DeploymentProject deploymentProject, @NotNull @NotNull PlanKey branchKey, @NotNull @NotNull String searchTerm)
deploymentProject
- deployment project to search withinbranchKey
- plan branch to narrow search resultsearchTerm
- term to look for.@Nullable @Nullable DeploymentVersion getDeploymentVersionByName(@NotNull @NotNull String existingVersion, long deploymentProjectId)
existingVersion
- name of the versionSet<PlanResultKey> getRelatedPlanResultKeys(long deploymentVersionId)
boolean isFromTheSameBranch(long firstVersionId, long secondVersionId)
firstVersionId
- first deployment versionsecondVersionId
- second deployment versionboolean isFromTheSameBranch(String planKey, long versionId)
planKey
- the planKey of the build result you want to compareversionId
- the version ID of the version you want to compare@NotNull @NotNull DeploymentVersionStatus updateVersionStatus(long deploymentVersionId, @NotNull @NotNull DeploymentVersionState status, @NotNull @NotNull String userName)
@Nullable @Nullable DeploymentVersionStatus getLatestVersionStatus(long deploymentVersionId)
@Deprecated @NotNull @NotNull List<DeploymentVersion> findVersionsBetween(long deploymentProjectId, @NotNull @NotNull DeploymentVersion version1, @NotNull @NotNull DeploymentVersion version2)
findVersionsBetweenNoVariables(long, DeploymentVersion, DeploymentVersion)
instead.DeploymentProject
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)IllegalArgumentException
- if any of the version doesn't exist@NotNull @NotNull List<DeploymentVersion> findVersionsBetweenNoVariables(@NotNull @NotNull long deploymentProjectId, @NotNull @NotNull DeploymentVersion version1, @NotNull @NotNull DeploymentVersion version2)
DeploymentProject
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)IllegalArgumentException
- if any of the version doesn't exist@Nullable @Nullable DeploymentVersion findPreviousVersion(long deploymentProjectId, long versionId)
int getVersionsCount()
int getVersionsCountForProject(long deploymentProjectId)
deploymentProjectId
- id of deployment projectint getVersionsCountForProjectAndBranch(@NotNull @NotNull long deploymentProjectId, @NotNull @NotNull PlanKey branchKey)
deploymentProjectId
- id of deployment projectbranchKey
- plan branch key@NotNull @NotNull List<DeploymentVersion> getDeploymentProjectVersionsNoVariables(@NotNull @NotNull DeploymentProject deploymentProject)
deploymentProject
- deployment project@NotNull @NotNull List<DeploymentVersion> getDeploymentProjectVersionsNoVariables(@NotNull @NotNull DeploymentProject deploymentProject, int offset, int maxResults)
deploymentProject
- deployment projectoffset
- number of results to skipmaxResults
- maximum length of the returned list@Deprecated @Nullable @Nullable DeploymentVersion getLatestVersionForProject(long deploymentProjectId)
getLatestVersionForProject(long, PlanKey)
deploymentProjectId
- of the deployment project@Nullable @Nullable DeploymentVersion getLatestVersionForProject(long deploymentProjectId, @NotNull @NotNull PlanKey branchKey)
deploymentProjectId
- of the deployment projectbranchKey
- key of the PlanBranch@NotNull @NotNull com.google.common.collect.Multimap<String,Artifact> getVersionArtifacts(@NotNull @NotNull DeploymentVersion deploymentVersion)
Artifact
related to a version.deploymentVersion
- @Nullable @Nullable DeploymentVersion getRelatedVersion(long deploymentProjectId, @NotNull @NotNull PlanResultKey planResultKey)
deploymentProjectId
- planResultKey
- DeploymentVersion findNextVersionContainingResult(long deploymentProjectId, @NotNull @NotNull PlanResultKey planResultKey)
deploymentProjectId
- planResultKey
- @NotNull @NotNull Map<String,VariableDefinitionContext> getPossibleVersionVariables(@NotNull @NotNull ImmutablePlan linkedPlan, boolean includeUndeterminable)
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)@NotNull @NotNull Map<String,VariableDefinitionContext> getPossibleVersionVariables(@NotNull @NotNull ImmutablePlan linkedPlan, @Nullable @Nullable PlanResultKey planResultKey, boolean includeUndeterminable)
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)@NotNull @NotNull String getIncrementedVersionName(@NotNull @NotNull String versionName)
versionName
- to increment@NotNull @NotNull String getEvaluatedVersionName(String nextVersionName, Map<String,VariableDefinitionContext> variables, Set<String> variablesToIncrement)
nextVersionName
- variables
- variablesToIncrement
- void updatePlanKey(@NotNull @NotNull PlanKey originalPlanKey, @NotNull @NotNull PlanKey newPlanKey)
originalPlanKey
- original PlanKeynewPlanKey
- new PlanKey@NotNull @NotNull DeploymentVersion renameVersion(long deploymentProjectId, @NotNull @NotNull DeploymentVersion deploymentVersion, @NotNull @NotNull String newVersionName) throws WebValidationException
deploymentProjectId
- deploymentVersion
- newVersionName
- WebValidationException
@NotNull @NotNull List<DeploymentVersion> findVersionsAssociatedWithJiraIssue(long deploymentProjectId, @NotNull @NotNull String issueKey)
DeploymentProject
that are associated with a JIRA issuedeploymentProjectId
- issueKey
- @NotNull @NotNull com.google.common.collect.Multimap<DeploymentProject,DeploymentVersion> findVersionsAssociatedWithJiraIssue(@NotNull @NotNull String issueKey)
DeploymentProject
issueKey
- @NotNull @NotNull Map<DeploymentVersion,Integer> findLatestKnownVersionsForEnvironmentsOfDeploymentProject(DeploymentProject deploymentProject)
DeploymentVersion
that are currently deployed on environments of a DeploymentProject
For each version found give number of environments it is present on.deploymentProject
- boolean hasVersionsUnrelatedToBranch(long deploymentProjectId, @NotNull @NotNull PlanKey branchKey)
DeploymentVersion
s in a DeploymentProject
that are unrelated to given branchdeploymentProjectId
- identifies deployment projectbranchKey
- key of the branch@NotNull @NotNull com.google.common.collect.ImmutableList<VariableSubstitutionContext> getVariableContextForVersion(@NotNull @NotNull long deploymentVersionId)
String getVersionNamePreview(ResultsSummary resultsSummary, String versionName)
resultsSummary
- the version would get created fromversionName
- the potential name of the versionvoid resetVersionsAge(@NotNull @NotNull DeploymentVersion deploymentVersion)
@NotNull @NotNull Map<Long,DeploymentVersionStatus> getLatestVersionStatuses(@NotNull @NotNull List<Long> deploymentVersionIds)
deploymentVersionIds
- void updateVersionsForResult(@NotNull @NotNull PlanResultKey planResultKey)
Copyright © 2022 Atlassian Software Systems Pty Ltd. All rights reserved.