public interface EnvironmentService
Modifier and Type | Field and Description |
---|---|
static String |
DEFAULT_ARTIFACT_TASK_NAME |
Modifier and Type | Method and Description |
---|---|
@NotNull Environment |
addEnvironment(long deploymentProjectId,
@Nullable String name,
@Nullable String description)
Creates a new environment in the specified deployment project.
|
void |
addNotification(long environmentId,
@NotNull NotificationRule newRule)
Adds a new notification to the environment notifications
|
Environment |
cloneEnvironment(long deploymentProjectId,
long environmentId,
@Nullable String name,
@Nullable String description)
Create new environment as a clone of existing one
|
Environment |
cloneEnvironment(long deploymentProjectId,
long environmentId,
@Nullable String name,
@Nullable String description,
@NotNull Map<String,String> oldAndClonedEnvironmentIds)
Create new environment as a clone of existing one and if necessary update triggers' configuration
|
@NotNull Environment |
createImmutableEnvironment(@NotNull MutableEnvironment environment)
Converts mutable environment to immutable.
|
@NotNull Environment |
createOperationsAwareImmutableEnvironment(@NotNull MutableEnvironment environment)
Create operation aware immutable environment
|
void |
deleteNotification(long environmentId,
long notificationId)
Removes notification from the environment's notification set.
|
@NotNull Environment |
editEnvironment(long environmentId,
String name,
String description)
Edit the details of an existing environment
|
@Nullable Environment |
findEnvironmentByName(long deploymentProjectId,
String name)
Find environment with specified name in a deployment project
|
@NotNull Set<RequirementDeploymentMapping> |
findEnvironmentsByRequirementKey(@NotNull String requirementKey)
Find environments which rely on requirementKey
|
@NotNull Iterable<Environment> |
getAllEnvironments()
Retrieve all
Environment defined in the system. |
@NotNull Collection<Environment> |
getAllEnvironmentsForDashboard()
Retrieve all
Environment defined in the system. |
@NotNull Iterable<Environment> |
getAllEnvironmentsNoUserContext()
Retrieve all
Environment defined in the system without filling in operations permitted for the user. |
@Nullable Environment |
getEnvironment(long environmentId)
Get specific environment by ID.
|
int |
getEnvironmentCount() |
int |
getEnvironmentCountForProject(DeploymentProject deploymentProject) |
Function<Environment,DecoratedEnvironment> |
getEnvironmentDecorator()
Create environment decorator function object.
|
List<EnvironmentRepositoryLink> |
getEnvironmentRepositoryLinksForRepository(long repositoryId) |
@Nullable RequirementSet |
getEnvironmentRequirementSet(long environmentId)
Retrieve Agent Requirement set for environment, if environment with id exists.
|
@NotNull List<Environment> |
getEnvironmentsForDeploymentProject(long deploymentProjectId)
Get all environments for a particular deployment project.
|
@NotNull PaginatedEnvironmentsForExecutablesView |
getEnvironmentsMatchingCapabilities(int start,
int limit,
@Nullable String filter,
ReadOnlyCapabilitySet agentCapabilities)
Provide a paginated list of minimal information about deployment environments matching agent capabilities
|
@NotNull List<EnvironmentStub> |
getEnvironmentStubsForDeploymentProject(long deploymentProjectId)
Get all environment stubs for a particular deployment project.
|
List<EnvironmentRepositoryLink> |
getEnvironmentsUsingRepository(long repositoryId)
Deprecated.
since 5.13, use
getEnvironmentRepositoryLinksForRepository(long) |
List<Environment> |
getEnvironmentsUsingRepositoryDataEntity(long repositoryId)
TODO 6.0 rename to getEnvironmentsUsingRepository
|
@Nullable Environment |
getEnvironmentUnrestricted(long environmentId)
Get specific environment by ID.
|
@Nullable NotificationSet |
getNotificationSet(long environmentId)
Retrieve notification set for environment, if environment with id exists.
|
@NotNull PaginatedEnvironmentsForDashboard |
getPaginatedEnvironmentsForDeploymentProject(long deploymentProjectId,
int start,
int limit,
@Nullable String filter)
Get paginated environments for a particular deployment project ordered by position.
|
@NotNull List<PlanRepositoryDefinition> |
getPlanRepositoryDefinitionsForEnvironment(@NotNull Environment environment)
Deprecated.
|
@NotNull List<PlanRepositoryDefinition> |
getPlanRepositoryDefinitionsForEnvironment(@NotNull InternalEnvironment environment)
Retrieves all repositories used in environment source checkout tasks
|
@NotNull List<RepositoryDefinition> |
getRepositoryDefinitionsForEnvironment(@NotNull Environment environment)
Deprecated.
|
ErrorCollection |
moveEnvironment(MoveEnvironmentStrategy moveEnvironmentStrategy,
long deploymentProjectId,
long environmentId,
int currentPosition,
Optional<Long> relatedEnvId)
Move Environment in given deploymentProject with given strategy.
|
@NotNull ErrorCollection |
moveEnvironmentDown(long deploymentProjectId,
long environmentId,
int currentPosition)
Deprecated.
|
@NotNull ErrorCollection |
moveEnvironmentUp(long deploymentProjectId,
long environmentId,
int currentPosition)
Deprecated.
|
void |
removeRepositoryFromEnvironment(@NotNull EnvironmentRepositoryLink environmentRepositoryLink)
Remove
EnvironmentRepositoryLink from environment |
void |
replaceNotification(long environmentId,
long oldNotificationId,
@NotNull NotificationRule newRule)
Replaces notification in the environment's notification set.
|
void |
resetTriggersForDeployment(long deploymentProjectId)
Delete and recreate triggers for all environments for this deployment
|
void |
restartAllTriggeringForDeploymentProject(long deploymentProjectId)
Restart all automatic triggering on every
Environment related to a DeploymentProject . |
void |
startAllTriggers(@NotNull Environment environment)
Start all automatic triggering on
InternalEnvironment |
void |
startAllTriggersForDeploymentProject(long deploymentProjectId)
Start all automatic triggering on every
Environment related to a DeploymentProject |
void |
stopAllTriggers(@NotNull Environment environment)
Stop all automatic triggering on
InternalEnvironment |
void |
stopAllTriggersForDeploymentProject(long deploymentProjectId)
Stop all automatic triggering on every
Environment related to a DeploymentProject |
void |
updateEnvironmentConfigurationState(long environmentId,
@NotNull ConfigurationState configurationState)
Update the configurationState of this environment
|
void |
updatePlanKey(long deploymentProjectId,
@NotNull PlanKey originalPlanKey,
@NotNull PlanKey newPlanKey)
Update planKey in Environment related configuration when plan key has changed (ie after moving plan).
|
RepositoryDefinition |
updateRepositoryLinkInEnvironment(EnvironmentRepositoryLink environmentRepositoryLink,
RepositoryDataEntity newRepositoryEntity)
Update
EnvironmentRepositoryLink data |
@NotNull ErrorCollection |
validateAddEnvironment(long deploymentProjectId,
@Nullable String name,
@Nullable String description)
Validates values to be used for creating a new environment.
|
@NotNull ErrorCollection |
validateEditEnvironment(long environmentId,
@Nullable String name,
@Nullable String description)
Validates values to be used when editing existing environment.
|
static final String DEFAULT_ARTIFACT_TASK_NAME
@NotNull @NotNull List<Environment> getEnvironmentsForDeploymentProject(long deploymentProjectId)
deploymentProjectId
- of the deployment project to get environments for@NotNull @NotNull List<EnvironmentStub> getEnvironmentStubsForDeploymentProject(long deploymentProjectId)
deploymentProjectId
- of the deployment project to get environments for@NotNull @NotNull PaginatedEnvironmentsForDashboard getPaginatedEnvironmentsForDeploymentProject(long deploymentProjectId, int start, int limit, @Nullable @Nullable String filter)
deploymentProjectId
- of the deployment project to get environments forstart
- start by indexlimit
- return no more entries than limitfilter
- filterInternalEnvironment.getPosition()
@NotNull @NotNull PaginatedEnvironmentsForExecutablesView getEnvironmentsMatchingCapabilities(int start, int limit, @Nullable @Nullable String filter, ReadOnlyCapabilitySet agentCapabilities)
start
- start by indexlimit
- return no more entries than limitfilter
- filteragentCapabilities
- capabilities of an agent@Nullable @Nullable Environment getEnvironment(long environmentId) throws org.acegisecurity.AccessDeniedException
environmentId
- ID to search fororg.acegisecurity.AccessDeniedException
- when user doesn't have permissions to view environment@Nullable @Nullable Environment getEnvironmentUnrestricted(long environmentId)
environmentId
- ID to search for@NotNull @NotNull ErrorCollection validateAddEnvironment(long deploymentProjectId, @Nullable @Nullable String name, @Nullable @Nullable String description)
deploymentProjectId
- name
- description
- @NotNull @NotNull Environment addEnvironment(long deploymentProjectId, @Nullable @Nullable String name, @Nullable @Nullable String description) throws WebValidationException
deploymentProjectId
- to create environment inname
- of the environment.description
- of the environment.WebValidationException
Environment cloneEnvironment(long deploymentProjectId, long environmentId, @Nullable @Nullable String name, @Nullable @Nullable String description) throws WebValidationException
environmentId
- name
- description
- WebValidationException
- when user has no permission to clone environment with dedicated agents or deployment/environment not foundEnvironment cloneEnvironment(long deploymentProjectId, long environmentId, @Nullable @Nullable String name, @Nullable @Nullable String description, @NotNull @NotNull Map<String,String> oldAndClonedEnvironmentIds) throws WebValidationException
environmentId
- name
- description
- oldAndClonedEnvironmentIds
- WebValidationException
- when user has no permission to clone environment with dedicated agents or deployment/environment not found@NotNull @NotNull ErrorCollection validateEditEnvironment(long environmentId, @Nullable @Nullable String name, @Nullable @Nullable String description)
environmentId
- environment to editname
- of the environmentdescription
- of the environment@NotNull @NotNull Environment editEnvironment(long environmentId, String name, String description) throws WebValidationException
environmentId
- environment to editname
- of the environmentdescription
- of the environmentWebValidationException
void updateEnvironmentConfigurationState(long environmentId, @NotNull @NotNull ConfigurationState configurationState)
environmentId
- of environment to updateconfigurationState
- new configuration state@Nullable @Nullable RequirementSet getEnvironmentRequirementSet(long environmentId)
environmentId
- of environment@NotNull @NotNull Iterable<Environment> getAllEnvironments()
Environment
defined in the system. The result is filtered by environment permissions and
sorted by deployment project id and environment position. Environments belonging to inaccessible projects are
not currently filtered out, but their operations show them to be inaccessible.@NotNull @NotNull Collection<Environment> getAllEnvironmentsForDashboard()
Environment
defined in the system. The result is filtered by environment permissions and
sorted by deployment project id and environment position. Environments belonging to inaccessible projects are
not currently filtered out, but their operations show them to be inaccessible. Some data inside the object may be
unavailable.@NotNull @NotNull Iterable<Environment> getAllEnvironmentsNoUserContext()
Environment
defined in the system without filling in operations permitted for the user.@Deprecated @NotNull @NotNull List<RepositoryDefinition> getRepositoryDefinitionsForEnvironment(@NotNull @NotNull Environment environment)
getPlanRepositoryDefinitionsForEnvironment(InternalEnvironment)
environment
- @NotNull @Deprecated @NotNull List<PlanRepositoryDefinition> getPlanRepositoryDefinitionsForEnvironment(@NotNull @NotNull Environment environment)
getPlanRepositoryDefinitionsForEnvironment(InternalEnvironment)
environment
- @NotNull @NotNull List<PlanRepositoryDefinition> getPlanRepositoryDefinitionsForEnvironment(@NotNull @NotNull InternalEnvironment environment)
environment
- @Deprecated List<EnvironmentRepositoryLink> getEnvironmentsUsingRepository(long repositoryId)
getEnvironmentRepositoryLinksForRepository(long)
List<EnvironmentRepositoryLink> getEnvironmentRepositoryLinksForRepository(long repositoryId)
repositoryId
- repository idList<Environment> getEnvironmentsUsingRepositoryDataEntity(long repositoryId)
repositoryId
- repository idEnvironment
s that use given repositoryRepositoryDefinition updateRepositoryLinkInEnvironment(EnvironmentRepositoryLink environmentRepositoryLink, RepositoryDataEntity newRepositoryEntity)
EnvironmentRepositoryLink
dataenvironmentRepositoryLink
- newRepositoryEntity
- void removeRepositoryFromEnvironment(@NotNull @NotNull EnvironmentRepositoryLink environmentRepositoryLink)
EnvironmentRepositoryLink
from environmentenvironmentRepositoryLink
- void addNotification(long environmentId, @NotNull @NotNull NotificationRule newRule) throws WebValidationException
WebValidationException
@Nullable @Nullable NotificationSet getNotificationSet(long environmentId)
environmentId
- of environmentvoid deleteNotification(long environmentId, long notificationId) throws WebValidationException
WebValidationException
void replaceNotification(long environmentId, long oldNotificationId, @NotNull @NotNull NotificationRule newRule) throws WebValidationException
WebValidationException
void stopAllTriggers(@NotNull @NotNull Environment environment)
InternalEnvironment
environment
- void startAllTriggers(@NotNull @NotNull Environment environment)
InternalEnvironment
environment
- void stopAllTriggersForDeploymentProject(long deploymentProjectId)
Environment
related to a DeploymentProject
deploymentProjectId
- void startAllTriggersForDeploymentProject(long deploymentProjectId)
Environment
related to a DeploymentProject
deploymentProjectId
- void restartAllTriggeringForDeploymentProject(long deploymentProjectId)
Environment
related to a DeploymentProject
.
When using this method please keep in mind that triggers should be stopped before modifying their configuration
and restarted afterwards. Thus stopAllTriggersForDeploymentProject(long)
and
startAllTriggersForDeploymentProject(long)
might be more useful.@NotNull @Deprecated @NotNull ErrorCollection moveEnvironmentUp(long deploymentProjectId, long environmentId, int currentPosition)
moveEnvironment(MoveEnvironmentStrategy, long, long, int, Optional)
with MoveEnvironmentStrategy.UP
@NotNull @Deprecated @NotNull ErrorCollection moveEnvironmentDown(long deploymentProjectId, long environmentId, int currentPosition)
moveEnvironment(MoveEnvironmentStrategy, long, long, int, Optional)
with MoveEnvironmentStrategy.DOWN
int getEnvironmentCount()
int getEnvironmentCountForProject(DeploymentProject deploymentProject)
deploymentProject
- void updatePlanKey(long deploymentProjectId, @NotNull @NotNull PlanKey originalPlanKey, @NotNull @NotNull PlanKey newPlanKey)
DeploymentProjectService.updatePlanKey(PlanKey, PlanKey)
after DeploymentProject has been updated.deploymentProjectId
- id of deployment project which environments have to be checkedoriginalPlanKey
- original PlanKeynewPlanKey
- new PlanKeyvoid resetTriggersForDeployment(long deploymentProjectId)
deploymentProjectId
- Function<Environment,DecoratedEnvironment> getEnvironmentDecorator()
@NotNull @NotNull Set<RequirementDeploymentMapping> findEnvironmentsByRequirementKey(@NotNull @NotNull String requirementKey)
requirementKey
- on which environments rely@NotNull @NotNull Environment createImmutableEnvironment(@NotNull @NotNull MutableEnvironment environment)
@Nullable @Nullable Environment findEnvironmentByName(long deploymentProjectId, String name)
deploymentProjectId
- name
- @NotNull @NotNull Environment createOperationsAwareImmutableEnvironment(@NotNull @NotNull MutableEnvironment environment)
Operations
ErrorCollection moveEnvironment(MoveEnvironmentStrategy moveEnvironmentStrategy, long deploymentProjectId, long environmentId, int currentPosition, Optional<Long> relatedEnvId)
MoveEnvironmentStrategy.AFTER
or MoveEnvironmentStrategy.BEFORE
moveEnvironmentStrategy
- deploymentProjectId
- environmentId
- currentPosition
- relatedEnvId
- Copyright © 2022 Atlassian Software Systems Pty Ltd. All rights reserved.