public interface JobService
Modifier and Type | Method and Description |
---|---|
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
|
@NotNull List<ImmutableJob> getJobsForPlan(@NotNull PlanKey planKey)
planKey
- of planNotFoundException
- if the plan does not exist@NotNull List<ImmutableJob> getJobsForStage(@NotNull PlanKey planKey, long stageId)
planKey
- of planstageId
- id of the stageNotFoundException
- if plan or stage does not exist@NotNull ErrorCollection validateJobForAdd(@NotNull PlanKey chainKey, long stageId, @Nullable String jobKey, @Nullable String name, @Nullable String description, boolean suspended) throws WebValidationException
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.NotFoundException
- if the plan or stage can't be foundWebValidationException
@NotNull ImmutableJob getJob(@NotNull PlanKey jobKey)
jobKey
- of the job to getNotFoundException
- if the job doesn't existorg.acegisecurity.AccessDeniedException
- if user has no WRITE access to the job@NotNull ImmutableJob addJob(@NotNull PlanKey chainKey, long stageId, @NotNull String jobKey, @NotNull String name, @Nullable String description, boolean suspended) throws WebValidationException
chainKey
- of the plan to add the jobstageId
- of the stage to add the jobjobKey
- 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 statusNotFoundException
- if the plan or stage can't be foundWebValidationException
@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
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.WebValidationException
@NotNull ImmutableJob cloneJob(@NotNull String sourceJobKey, @NotNull PlanKey chainKey, long stageId, @NotNull String newJobKey, @NotNull String name, @Nullable String description, boolean suspended) throws WebValidationException
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.WebValidationException
@NotNull ErrorCollection validateJobForUpdate(@NotNull PlanKey jobKey, @NotNull String name, @Nullable String description, boolean suspended, long stageId)
jobKey
- of the job to updatename
- new name of the jobdescription
- new description of the jobsuspended
- sets the job suspended statusNotFoundException
- if the job doesn't exist@NotNull ImmutableJob updateJob(@NotNull PlanKey jobKey, @NotNull String name, @Nullable String description, boolean suspended, long stageId, @NotNull BambooClosures.Throwing1<ImmutableJob,WebValidationException>... runBefore) throws WebValidationException
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.WebValidationException
void deleteJob(@NotNull PlanKey jobKey, @NotNull BambooClosures.Throwing1<ImmutableJob,WebValidationException>... runBefore) throws WebValidationException
jobKey
- of jobrunBefore
- code to execute after security and validation has passed but before the deletion occurs.org.acegisecurity.AccessDeniedException
- when user has no ADMINISTRATION permission to the jobWebValidationException
Copyright © 2019 Atlassian Software Systems Pty Ltd. All rights reserved.