com.atlassian.bamboo.plan.job
Interface JobService

All Known Implementing Classes:
JobServiceImpl

public interface JobService

Service for performing job related configurations

Since:
v5.7

Method Summary
 ImmutableJob addJob(PlanKey chainKey, long stageId, String jobKey, String name, String description, boolean suspended)
          Add a job to an existing stage in the plan
 ImmutableJob cloneJob(String sourceJobKey, PlanKey chainKey, long stageId, String newJobKey, String name, String description, boolean suspended)
          Copy the given job and give the copy the key, name, description and suspended state provided.
 void deleteJob(PlanKey jobKey, BambooClosures.Throwing1<ImmutableJob,WebValidationException>... runBefore)
          Remove a job.
 ImmutableJob getJob(PlanKey jobKey)
          Get an individual job
 List<ImmutableJob> getJobsForPlan(PlanKey planKey)
          Get all jobs in a plan, ordered alphabetically
 List<ImmutableJob> getJobsForStage(PlanKey planKey, long stageId)
          Get all jobs in a particular stage, ordered alphabetically
 ImmutableJob updateJob(PlanKey jobKey, String name, String description, boolean suspended, long stageId, BambooClosures.Throwing1<ImmutableJob,WebValidationException>... runBefore)
          Update the details of a job
 ErrorCollection validateJobForAdd(PlanKey chainKey, long stageId, String jobKey, String name, String description, boolean suspended)
          Validates the parameters for adding a job.
 ErrorCollection validateJobForClone(String sourceJobKey, PlanKey chainKey, long stageId, String newJobKey, String name, String description, Boolean suspended)
          Validates the parameters for cloning a job.
 ErrorCollection validateJobForUpdate(PlanKey jobKey, String name, String description, boolean suspended, long stageId)
          Validate editing of a job
 

Method Detail

getJobsForPlan

@NotNull
List<ImmutableJob> getJobsForPlan(@NotNull
                                          PlanKey planKey)
Get all jobs in a plan, ordered alphabetically

Parameters:
planKey - of plan
Returns:
list of immutable jobs
Throws:
NotFoundException - if the plan does not exist

getJobsForStage

@NotNull
List<ImmutableJob> getJobsForStage(@NotNull
                                           PlanKey planKey,
                                           long stageId)
Get all jobs in a particular stage, ordered alphabetically

Parameters:
planKey - of plan
stageId - id of the stage
Returns:
list of immutable jobs
Throws:
NotFoundException - if plan or stage does not exist

validateJobForAdd

@NotNull
ErrorCollection validateJobForAdd(@NotNull
                                          PlanKey chainKey,
                                          long stageId,
                                          @Nullable
                                          String jobKey,
                                          @Nullable
                                          String name,
                                          @Nullable
                                          String description,
                                          boolean suspended)
                                  throws WebValidationException
Validates the parameters for adding a job.

Parameters:
chainKey - 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:
NotFoundException - if the plan or stage can't be found
WebValidationException

getJob

@NotNull
ImmutableJob getJob(@NotNull
                            PlanKey jobKey)
Get an individual job

Parameters:
jobKey - of the job to get
Returns:
the job
Throws:
NotFoundException - if the job doesn't exist
org.acegisecurity.AccessDeniedException - if user has no WRITE access to the job

addJob

@NotNull
ImmutableJob addJob(@NotNull
                            PlanKey chainKey,
                            long stageId,
                            @NotNull
                            String jobKey,
                            @NotNull
                            String name,
                            @Nullable
                            String description,
                            boolean suspended)
                    throws WebValidationException
Add a job to an existing stage in the plan

Parameters:
chainKey - of the plan to add the job
stageId - of the stage to add the job
jobKey - of the job to add. May be full or partial job key.
name - name of the job
description - description of the job
suspended - sets the job suspended status
Returns:
added job
Throws:
NotFoundException - if the plan or stage can't be found
WebValidationException

validateJobForClone

@NotNull
ErrorCollection validateJobForClone(@Nullable
                                            String sourceJobKey,
                                            @NotNull
                                            PlanKey chainKey,
                                            long stageId,
                                            @Nullable
                                            String newJobKey,
                                            @Nullable
                                            String name,
                                            @Nullable
                                            String description,
                                            @Nullable
                                            Boolean suspended)
                                    throws WebValidationException
Validates the parameters for cloning a job.

Parameters:
sourceJobKey - 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

@NotNull
ImmutableJob cloneJob(@NotNull
                              String sourceJobKey,
                              @NotNull
                              PlanKey chainKey,
                              long stageId,
                              @NotNull
                              String newJobKey,
                              @NotNull
                              String name,
                              @Nullable
                              String description,
                              boolean suspended)
                      throws WebValidationException
Copy the given job and give the copy the key, name, description and suspended state provided.

Parameters:
sourceJobKey - 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.
newJobKey - 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

validateJobForUpdate

@NotNull
ErrorCollection validateJobForUpdate(@NotNull
                                             PlanKey jobKey,
                                             @NotNull
                                             String name,
                                             @Nullable
                                             String description,
                                             boolean suspended,
                                             long stageId)
Validate editing of a job

Parameters:
jobKey - of the job to update
name - new name of the job
description - new description of the job
suspended - sets the job suspended status
Returns:
error collection containing any validation errors that may have occurred against job data.
Throws:
NotFoundException - if the job doesn't exist

updateJob

@NotNull
ImmutableJob updateJob(@NotNull
                               PlanKey jobKey,
                               @NotNull
                               String name,
                               @Nullable
                               String description,
                               boolean suspended,
                               long stageId,
                               @NotNull
                               BambooClosures.Throwing1<ImmutableJob,WebValidationException>... runBefore)
                       throws WebValidationException
Update the details of a job

Parameters:
jobKey - of the job to update
name - new name of the job
description - new description of the job
suspended - sets the job suspended status
stageId - new stage for the job
runBefore - code to execute after security and validation has passed but before the update occurs.
Returns:
updated job
Throws:
WebValidationException

deleteJob

void deleteJob(@NotNull
               PlanKey jobKey,
               @NotNull
               BambooClosures.Throwing1<ImmutableJob,WebValidationException>... runBefore)
               throws WebValidationException
Remove a job.

Parameters:
jobKey - of job
runBefore - code to execute after security and validation has passed but before the deletion occurs.
Throws:
org.acegisecurity.AccessDeniedException - when user has no ADMINISTRATION permission to the job
WebValidationException


Copyright © 2015 Atlassian Software Systems Pty Ltd. All rights reserved.