Class PipelineManagerImpl
- java.lang.Object
-
- jetbrains.buildServer.pipeline.impl.PipelineManagerImpl
-
- All Implemented Interfaces:
PipelineManager
@Service public class PipelineManagerImpl extends Object implements PipelineManager
-
-
Constructor Summary
Constructors Constructor Description PipelineManagerImpl(ProjectManager projectManager, ProjectIdentifiersManager projectIdentifiersManager, OAuthConnectionsManager oAuthConnectionsManager, PipelineYamlParser pipelineYamlParser, VersionedSettingsManager versionedSettingsManager, VersionedSettingsConfigUpdater versionedSettingsConfigUpdater, VersionedSettingsUpdater versionedSettingsUpdater, VcsRootInstancesManagerEx vcsRootInstancesManager, SecurityContext securityContext, PipelineHeadManager headManager, YamlInProjectStorage yamlInProjectStorage)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Pipeline
findById(String id)
Pipeline
findByProject(SProject project)
List<Pipeline>
getAll(String parentProjectExtId)
Returns all the pipelines stored under the given projectboolean
isPipeline(SProject project)
void
remove(Pipeline pipeline)
Pipeline
save(Pipeline pipeline, String parentProjectExtId)
Save a new pipeline, or force the pipeline update without checking if its version is outdatedPipeline
save(Pipeline pipeline, String previousVersion, String parentProjectExtId)
This implementation only works in single-node setup.
-
-
-
Constructor Detail
-
PipelineManagerImpl
public PipelineManagerImpl(@NotNull ProjectManager projectManager, @NotNull ProjectIdentifiersManager projectIdentifiersManager, @NotNull OAuthConnectionsManager oAuthConnectionsManager, @NotNull PipelineYamlParser pipelineYamlParser, @NotNull VersionedSettingsManager versionedSettingsManager, @NotNull VersionedSettingsConfigUpdater versionedSettingsConfigUpdater, @NotNull VersionedSettingsUpdater versionedSettingsUpdater, @NotNull VcsRootInstancesManagerEx vcsRootInstancesManager, @NotNull SecurityContext securityContext, @NotNull PipelineHeadManager headManager, @NotNull YamlInProjectStorage yamlInProjectStorage)
-
-
Method Detail
-
getAll
@NotNull public List<Pipeline> getAll(@Nullable String parentProjectExtId)
Description copied from interface:PipelineManager
Returns all the pipelines stored under the given project- Specified by:
getAll
in interfacePipelineManager
- Parameters:
parentProjectExtId
- project to find pipelines in, or in Root porject if null- Returns:
- see above
-
findById
@Nullable public Pipeline findById(@NotNull String id)
- Specified by:
findById
in interfacePipelineManager
-
findByProject
@Nullable public Pipeline findByProject(@NotNull SProject project)
- Specified by:
findByProject
in interfacePipelineManager
-
isPipeline
public boolean isPipeline(@NotNull SProject project)
- Specified by:
isPipeline
in interfacePipelineManager
-
save
public Pipeline save(@NotNull Pipeline pipeline, @Nullable String parentProjectExtId)
Description copied from interface:PipelineManager
Save a new pipeline, or force the pipeline update without checking if its version is outdated- Specified by:
save
in interfacePipelineManager
-
save
public Pipeline save(@NotNull Pipeline pipeline, @NotNull String previousVersion, @Nullable String parentProjectExtId) throws OutdatedPipelineVersionException
This implementation only works in single-node setup.
In multinode setup, we need to somehow sync the pipeline versions between them One of the possible implementations is to keep a separate version on each node, and when applying the persist task, verify that the version is still relevant- Specified by:
save
in interfacePipelineManager
- Throws:
OutdatedPipelineVersionException
-
remove
public void remove(@NotNull Pipeline pipeline)
- Specified by:
remove
in interfacePipelineManager
-
-