Package com.atlassian.bamboo.plan.job
Class JobServiceImpl
java.lang.Object
com.atlassian.bamboo.plan.job.JobServiceImpl
- All Implemented Interfaces:
JobService
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription@NotNull ImmutableJobaddJob(@NotNull PlanKey chainKey, long stageId, @Nullable String jobKeyString, @Nullable String name, @Nullable String description, boolean suspended) Add a job to an existing stage in the plancloneJob(@NotNull String sourceJobKeyString, @NotNull PlanKey chainKey, long stageId, @NotNull String newJobKeyString, @NotNull String name, @Nullable String description, boolean suspended) Copy the given job and give the copy the key, name, description and suspended state provided.voiddeleteJob(@NotNull PlanKey jobKey, BambooClosures.Throwing1<ImmutableJob, WebValidationException>... runBefore) Remove a job.@NotNull ImmutableJobGet an individual job.@NotNull List<ImmutableJob> getJobsForPlan(@NotNull PlanKey planKey) Assumption is made thatAbstractImmutableChain.getAllJobs()will return 2-level sorted list of jobs@NotNull List<ImmutableJob> getJobsForStage(@NotNull PlanKey planKey, long stageId) Get all jobs in a particular stage, ordered alphabetically@NotNull ImmutableJobgetJobWithConsistencyGuarantee(@NotNull PlanKey jobKey) Get an individual job.@NotNull ImmutableJobupdateJob(@NotNull PlanKey jobKey, @NotNull String name, @Nullable String description, boolean suspended, long stageId, BambooClosures.Throwing1<ImmutableJob, WebValidationException>... runBefore) Update the details of a jobvalidateJobForAdd(@NotNull PlanKey planKey, long stageId, @Nullable String jobKey, @Nullable String name, @Nullable String description, boolean suspended) Validates the parameters for adding a job.validateJobForClone(@Nullable String sourceJobKeyString, @NotNull PlanKey chainKey, long stageId, @Nullable String newJobKey, @Nullable String name, @Nullable String description, @Nullable Boolean suspended) Validates the parameters for cloning a job.@NotNull ErrorCollectionvalidateJobForUpdate(@NotNull PlanKey jobKey, @NotNull String name, @Nullable String description, boolean suspended, long stageId) Validate editing of a job
-
Constructor Details
-
JobServiceImpl
public JobServiceImpl()
-
-
Method Details
-
getJobsForPlan
Assumption is made thatAbstractImmutableChain.getAllJobs()will return 2-level sorted list of jobs- Specified by:
getJobsForPlanin interfaceJobService- Parameters:
planKey- of plan- Returns:
- list of immutable jobs
-
getJobsForStage
@NotNull public @NotNull List<ImmutableJob> getJobsForStage(@NotNull @NotNull PlanKey planKey, long stageId) Description copied from interface:JobServiceGet all jobs in a particular stage, ordered alphabetically- Specified by:
getJobsForStagein interfaceJobService- Parameters:
planKey- of planstageId- id of the stage- Returns:
- list of immutable jobs
-
getJob
Description copied from interface:JobServiceGet an individual job. In clustered mode, there is NO consistency guarantee.- Specified by:
getJobin interfaceJobService- Parameters:
jobKey- of the job to get- Returns:
- the job
-
getJobWithConsistencyGuarantee
@NotNull public @NotNull ImmutableJob getJobWithConsistencyGuarantee(@NotNull @NotNull PlanKey jobKey) Description copied from interface:JobServiceGet an individual job. There is a guarantee that the data will be up-to-date.- Specified by:
getJobWithConsistencyGuaranteein interfaceJobService- Parameters:
jobKey- of the job to get- Returns:
- the job
-
validateJobForAdd
public ErrorCollection validateJobForAdd(@NotNull @NotNull PlanKey planKey, long stageId, @Nullable @Nullable String jobKey, @Nullable @Nullable String name, @Nullable @Nullable String description, boolean suspended) throws WebValidationException Description copied from interface:JobServiceValidates the parameters for adding a job.- Specified by:
validateJobForAddin interfaceJobService- Parameters:
planKey- of the plan to add job to.stageId- of the stage to add the job to.jobKey- key of the job to add. May be full or partial job key.name- name of the job to add.description- description of the job.suspended- sets the job's suspended status.- Returns:
- error collection containing any validation errors that may have occurred against job data.
- Throws:
WebValidationException
-
addJob
@NotNull public @NotNull ImmutableJob addJob(@NotNull @NotNull PlanKey chainKey, long stageId, @Nullable @Nullable String jobKeyString, @Nullable @Nullable String name, @Nullable @Nullable String description, boolean suspended) throws WebValidationException Description copied from interface:JobServiceAdd a job to an existing stage in the plan- Specified by:
addJobin interfaceJobService- Parameters:
chainKey- of the plan to add the jobstageId- of the stage to add the jobjobKeyString- of the job to add. May be full or partial job key.name- name of the jobdescription- description of the jobsuspended- sets the job suspended status- Returns:
- added job
- Throws:
WebValidationException
-
validateJobForClone
public ErrorCollection validateJobForClone(@Nullable @Nullable String sourceJobKeyString, @NotNull @NotNull PlanKey chainKey, long stageId, @Nullable @Nullable String newJobKey, @Nullable @Nullable String name, @Nullable @Nullable String description, @Nullable @Nullable Boolean suspended) throws WebValidationException Description copied from interface:JobServiceValidates the parameters for cloning a job.- Specified by:
validateJobForClonein interfaceJobService- Parameters:
sourceJobKeyString- key of the job to clone. Must be full job key.chainKey- key of the plan to add the new job to.stageId- id of the stage to add the new job to.newJobKey- key of the new job. May be full or partial job key.name- name of the new job.description- description of the new job.suspended- suspended state of the new job.- Returns:
- error collection containing any validation errors that may have occurred against job data.
- Throws:
WebValidationException
-
cloneJob
public ImmutableJob cloneJob(@NotNull @NotNull String sourceJobKeyString, @NotNull @NotNull PlanKey chainKey, long stageId, @NotNull @NotNull String newJobKeyString, @NotNull @NotNull String name, @Nullable @Nullable String description, boolean suspended) throws WebValidationException Description copied from interface:JobServiceCopy the given job and give the copy the key, name, description and suspended state provided.- Specified by:
cloneJobin interfaceJobService- Parameters:
sourceJobKeyString- key of the source job to copy. Must be full job key.chainKey- of the plan to add the new job.stageId- of the stage to add the new job.newJobKeyString- key to give to the new job. May be full or partial job key.name- The name of the cloned job.description- The description of the cloned job.suspended- The suspended state of the cloned job.- Returns:
- the result of the copy.
- Throws:
WebValidationException
-
deleteJob
public void deleteJob(@NotNull @NotNull PlanKey jobKey, @NotNull BambooClosures.Throwing1<ImmutableJob, WebValidationException>... runBefore) throws WebValidationExceptionDescription copied from interface:JobServiceRemove a job.- Specified by:
deleteJobin interfaceJobService- Parameters:
jobKey- of jobrunBefore- code to execute after security and validation has passed but before the deletion occurs.- Throws:
WebValidationException
-
validateJobForUpdate
@NotNull public @NotNull ErrorCollection validateJobForUpdate(@NotNull @NotNull PlanKey jobKey, @NotNull @NotNull String name, @Nullable @Nullable String description, boolean suspended, long stageId) Description copied from interface:JobServiceValidate editing of a job- Specified by:
validateJobForUpdatein interfaceJobService- Parameters:
jobKey- of the job to updatename- new name of the jobdescription- new description of the jobsuspended- sets the job suspended status- Returns:
- error collection containing any validation errors that may have occurred against job data.
-
updateJob
@NotNull public @NotNull ImmutableJob updateJob(@NotNull @NotNull PlanKey jobKey, @NotNull @NotNull String name, @Nullable @Nullable String description, boolean suspended, long stageId, @NotNull BambooClosures.Throwing1<ImmutableJob, WebValidationException>... runBefore) throws WebValidationExceptionDescription copied from interface:JobServiceUpdate the details of a job- Specified by:
updateJobin interfaceJobService- Parameters:
jobKey- of the job to updatename- new name of the jobdescription- new description of the jobsuspended- sets the job suspended statusstageId- new stage for the jobrunBefore- code to execute after security and validation has passed but before the update occurs.- Returns:
- updated job
- Throws:
WebValidationException
-