public class JobCreationServiceImpl extends PlanCreationTemplate implements JobCreationService
PlanCreationService.EnablePlan
aclUpdateHelper, artifactDefinitionManager, artifactSubscriptionManager, auditLogService, authenticationContext, bambooLicenseManager, branchCommitInformationManager, buildDefinitionConverter, eventPublisher, notificationManager, planManager, planValidationService, projectManager, repositoryDefinitionManager, triggerConfigurationService, variableDefinitionManager, vcsBranchManager
EXISTING_PROJECT_KEY, NEW_PROJECT_MARKER, PROJECT_DESCRIPTION, PROJECT_KEY, PROJECT_NAME
Constructor and Description |
---|
JobCreationServiceImpl(PlanManager planManager,
ProjectManager projectManager,
BambooAclUpdateHelper aclUpdateHelper,
BambooAuthenticationContext authenticationContext,
BambooLicenseManager bambooLicenseManager,
HibernateMutableAclService aclService,
PlanScheduler planScheduler,
com.atlassian.event.api.EventPublisher eventPublisher,
PlanValidationService planValidationService,
AuditLogService auditLogService,
BuildDefinitionConverter buildDefinitionConverter,
ArtifactDefinitionManager artifactDefinitionManager,
ArtifactSubscriptionManager artifactSubscriptionManager,
VariableDefinitionManager variableDefinitionManager,
RepositoryDefinitionManager repositoryDefinitionManager,
TaskConfigurationService taskConfigurationService,
NotificationManager notificationManager,
BranchCommitInformationManager branchCommitInformationManager,
VcsBranchManager vcsBranchManager,
TriggerConfigurationService triggerConfigurationService,
ChainBranchManager chainBranchManager,
BuildNumberGeneratorService buildNumberGeneratorService,
VcsRepositoryManager vcsRepositoryManager,
DockerPipelineValidationService dockerPipelineValidationService,
TaskManager taskManager,
TransactionAndHibernateTemplate hibernateTemplate) |
Modifier and Type | Method and Description |
---|---|
void |
cleanBuildConfiguration(BuildConfiguration buildConfiguration,
Plan plan)
Clean build configuration for saving.
|
boolean |
cloneBuildable(PlanCreationBean planCreationBean,
ActionParametersMap params,
Job jobToClone,
Job job) |
List<PlanKey> |
createJobAndBranches(BuildConfiguration buildConfiguration,
ActionParametersMap actionParametersMap,
PlanCreationService.EnablePlan enabled) |
String |
createPlan(BuildConfiguration buildConfiguration,
ActionParametersMap actionParametersMap,
PlanCreationService.EnablePlan enabled)
Deprecated.
since 4.0 use @{link #createJobAndBranches}
|
String |
createSingleJob(BuildConfiguration buildConfiguration,
ActionParametersMap actionParametersMap,
PlanCreationService.EnablePlan enabled) |
BuildConfiguration |
getBuildConfigurationWithDefaults() |
List<PlanConfigHelper> |
getComponentsOnPage() |
protected org.acegisecurity.acls.MutableAcl |
getDefaultPermissionsForPlan(boolean accessForAllUsers)
Generate the permissions to be stored against the plan on creation.
|
Job |
getNewInstance() |
protected boolean |
performCloneIfRequired(BuildConfiguration buildConfiguration,
PlanCreationBean planCreationBean,
ActionParametersMap params)
Using the action parameters determine if cloning is required and if so, perform the clone.
|
protected void |
performPostCreateAction(Plan plan)
Perform plan specific actions that need to be run immediately after plan creation.
|
protected void |
prepareBuildConfiguration(BuildConfiguration buildConfiguration,
Plan plan,
PlanCreationBean planCreationBean)
Prepare build configuration for saving.
|
void |
saveAndUpdateParents(PlanCreationBean planCreationBean)
Perform any necessary database operations required before saving the plan.
|
void |
setFullPlanKey(Plan plan)
Set the full key for this plan
|
void |
triggerCreationCompleteEvents(PlanKey planKey)
Trigger the appropriate events after the plan has been saved successfully
Calling this method is responsibility of class using this template.
|
void |
validatePlan(com.atlassian.struts.ValidationAware validationAware,
BuildConfiguration buildConfiguration,
ActionParametersMap params)
Validates plan details and build configuration details for initial plan creation.
|
cleanBuildConfiguration, clonePlanPermissionsToSession, createPlan, logBuildConfiguration, saveAndUpdateParents, savePlan, validateThrowingPlanCreationException
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
savePlan
public JobCreationServiceImpl(PlanManager planManager, ProjectManager projectManager, BambooAclUpdateHelper aclUpdateHelper, BambooAuthenticationContext authenticationContext, BambooLicenseManager bambooLicenseManager, HibernateMutableAclService aclService, PlanScheduler planScheduler, com.atlassian.event.api.EventPublisher eventPublisher, PlanValidationService planValidationService, AuditLogService auditLogService, BuildDefinitionConverter buildDefinitionConverter, ArtifactDefinitionManager artifactDefinitionManager, ArtifactSubscriptionManager artifactSubscriptionManager, VariableDefinitionManager variableDefinitionManager, RepositoryDefinitionManager repositoryDefinitionManager, TaskConfigurationService taskConfigurationService, NotificationManager notificationManager, BranchCommitInformationManager branchCommitInformationManager, VcsBranchManager vcsBranchManager, TriggerConfigurationService triggerConfigurationService, ChainBranchManager chainBranchManager, BuildNumberGeneratorService buildNumberGeneratorService, VcsRepositoryManager vcsRepositoryManager, DockerPipelineValidationService dockerPipelineValidationService, TaskManager taskManager, TransactionAndHibernateTemplate hibernateTemplate)
public void validatePlan(com.atlassian.struts.ValidationAware validationAware, BuildConfiguration buildConfiguration, ActionParametersMap params)
PlanCreationService
validatePlan
in interface PlanCreationService
validationAware
- - object to add errors to (usually an action class)buildConfiguration
- - build configuration to validateparams
- - parameter map containing any plan details not in the build configuration.public Job getNewInstance()
getNewInstance
in interface JobCreationService
getNewInstance
in interface PlanCreationService
protected org.acegisecurity.acls.MutableAcl getDefaultPermissionsForPlan(boolean accessForAllUsers)
PlanCreationTemplate
getDefaultPermissionsForPlan
in class PlanCreationTemplate
accessForAllUsers
- anyone that can access Bamboo instance
(logged-in users and depending on configuration anonymous)
will be able to view this plan.public BuildConfiguration getBuildConfigurationWithDefaults()
getBuildConfigurationWithDefaults
in interface PlanCreationService
protected boolean performCloneIfRequired(@NotNull BuildConfiguration buildConfiguration, @NotNull PlanCreationBean planCreationBean, @NotNull ActionParametersMap params)
PlanCreationTemplate
performCloneIfRequired
in class PlanCreationTemplate
buildConfiguration
- for any extra configuration to override when cloningplanCreationBean
- containing the plan and acls (currently does not contain buildConfiguration)params
- containing any properties provided from the UIpublic boolean cloneBuildable(@NotNull PlanCreationBean planCreationBean, @NotNull ActionParametersMap params, Job jobToClone, Job job)
protected void prepareBuildConfiguration(@NotNull BuildConfiguration buildConfiguration, @NotNull Plan plan, @NotNull PlanCreationBean planCreationBean)
PlanCreationTemplate
prepareBuildConfiguration
in class PlanCreationTemplate
buildConfiguration
- the current build configuration.plan
- the current plan (will already have details populated)public void cleanBuildConfiguration(@NotNull BuildConfiguration buildConfiguration, @NotNull Plan plan)
PlanCreationTemplate
cleanBuildConfiguration
in class PlanCreationTemplate
buildConfiguration
- the current build configuration.plan
- the current plan (will already have details populated)public void setFullPlanKey(@NotNull Plan plan)
PlanCreationTemplate
setFullPlanKey
in class PlanCreationTemplate
plan
- - complete plan to be savedpublic void saveAndUpdateParents(@NotNull PlanCreationBean planCreationBean)
PlanCreationTemplate
saveAndUpdateParents
in class PlanCreationTemplate
planCreationBean
- plan creation beanprotected void performPostCreateAction(@NotNull Plan plan)
PlanCreationTemplate
performPostCreateAction
in class PlanCreationTemplate
plan
- created planpublic void triggerCreationCompleteEvents(PlanKey planKey)
PlanCreationTemplate
triggerCreationCompleteEvents
in interface PlanCreationService
triggerCreationCompleteEvents
in class PlanCreationTemplate
public List<PlanConfigHelper> getComponentsOnPage()
public String createSingleJob(@NotNull BuildConfiguration buildConfiguration, @NotNull ActionParametersMap actionParametersMap, @NotNull PlanCreationService.EnablePlan enabled) throws PlanCreationDeniedException, PlanCreationException
createSingleJob
in interface JobCreationService
PlanCreationDeniedException
PlanCreationException
@Deprecated public String createPlan(@NotNull BuildConfiguration buildConfiguration, @NotNull ActionParametersMap actionParametersMap, @NotNull PlanCreationService.EnablePlan enabled) throws PlanCreationDeniedException, PlanCreationException
createPlan
in interface JobCreationService
createPlan
in interface PlanCreationService
buildConfiguration
- of the plan to createactionParametersMap
- containing any other required params NOT in the buildConfigurationenabled
- whether the plan should start enabled or disabledPlanCreationDeniedException
- if plan creation fails because you already have too many plans.PlanCreationException
- if plan creation fails for any other reasonpublic List<PlanKey> createJobAndBranches(@NotNull BuildConfiguration buildConfiguration, @NotNull ActionParametersMap actionParametersMap, @NotNull PlanCreationService.EnablePlan enabled) throws PlanCreationDeniedException, PlanCreationException
createJobAndBranches
in interface JobCreationService
PlanCreationDeniedException
PlanCreationException
Copyright © 2021 Atlassian Software Systems Pty Ltd. All rights reserved.