Package com.atlassian.bamboo.plan.job
Class JobServiceImpl
java.lang.Object
com.atlassian.bamboo.plan.job.JobServiceImpl
- All Implemented Interfaces:
JobService
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription@NotNull ImmutableJob
addJob
(@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.void
deleteJob
(@NotNull PlanKey jobKey, @NotNull BambooClosures.Throwing1<ImmutableJob, WebValidationException>... runBefore) Remove a job.@NotNull ImmutableJob
Get 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 ImmutableJob
getJobWithConsistencyGuarantee
(@NotNull PlanKey jobKey) Get an individual job.@NotNull ImmutableJob
updateJob
(@NotNull PlanKey jobKey, @NotNull String name, @Nullable String description, boolean suspended, long stageId, @NotNull 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 ErrorCollection
validateJobForUpdate
(@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:
getJobsForPlan
in 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:JobService
Get all jobs in a particular stage, ordered alphabetically- Specified by:
getJobsForStage
in interfaceJobService
- Parameters:
planKey
- of planstageId
- id of the stage- Returns:
- list of immutable jobs
-
getJob
Description copied from interface:JobService
Get an individual job. In clustered mode, there is NO consistency guarantee.- Specified by:
getJob
in 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:JobService
Get an individual job. There is a guarantee that the data will be up-to-date.- Specified by:
getJobWithConsistencyGuarantee
in 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:JobService
Validates the parameters for adding a job.- Specified by:
validateJobForAdd
in 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:JobService
Add a job to an existing stage in the plan- Specified by:
addJob
in 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:JobService
Validates the parameters for cloning a job.- Specified by:
validateJobForClone
in 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:JobService
Copy the given job and give the copy the key, name, description and suspended state provided.- Specified by:
cloneJob
in 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 @NotNull BambooClosures.Throwing1<ImmutableJob, WebValidationException>... runBefore) throws WebValidationExceptionDescription copied from interface:JobService
Remove a job.- Specified by:
deleteJob
in 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:JobService
Validate editing of a job- Specified by:
validateJobForUpdate
in 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 @NotNull BambooClosures.Throwing1<ImmutableJob, WebValidationException>... runBefore) throws WebValidationExceptionDescription copied from interface:JobService
Update the details of a job- Specified by:
updateJob
in 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
-