Package com.atlassian.bamboo.task
Interface TaskConfigurationService
- All Known Implementing Classes:
TaskConfigurationServiceImpl
@Internal
public interface TaskConfigurationService
Service to perform task manipulation actions. Helps manage concurrency of manipulations
- Since:
- 3.1
-
Method Summary
Modifier and TypeMethodDescriptioncreateTask
(@NotNull PlanKey planKey, @NotNull TaskModuleDescriptor taskDescriptor, @Nullable String userDescription, boolean isEnabled, @NotNull List<TaskConditionConfig> conditions, @NotNull Map<String, String> configuration, @NotNull TaskRootDirectorySelector taskRootDirectorySelector) Create a task Definition and save it against the plancreateTask
(@NotNull PlanKey planKey, @NotNull TaskModuleDescriptor taskDescriptor, @Nullable String userDescription, boolean isEnabled, @NotNull Map<String, String> configuration, @NotNull TaskRootDirectorySelector taskRootDirectorySelector) Create a task Definition and save it against the planvoid
createTaskList
(PlanKey planKey, @NotNull List<TaskDefinition> taskDefinitions) Initializes task list of a plan with the provided list.void
deleteTask
(@NotNull PlanKey planKey, long taskId) Delete a given taskDefinitioneditTask
(@NotNull PlanKey planKey, long taskId, @Nullable String userDescription, boolean isEnabled, @NotNull List<TaskConditionConfig> conditions, @NotNull Map<String, String> taskConfigurationMap, @NotNull TaskRootDirectorySelector taskRootDirectorySelector) Update the details of specific taskDefinitioneditTask
(@NotNull PlanKey planKey, long taskId, @Nullable String userDescription, boolean isEnabled, @NotNull Map<String, String> taskConfigurationMap, @NotNull TaskRootDirectorySelector taskRootDirectorySelector) Update the details of specific taskDefinitiongetRelevantTasksForRepositoryId
(@NotNull ImmutableJob job, long repositoryId) Return relevantTaskDefinition
for givenJob
and repositoryId@NotNull Collection<Requirement>
getTasksRequirements
(@NotNull PlanKey planKey) void
moveFinalBar
(PlanKey planKey, long beforeId, long afterId) Moves the final Bar to a specific location in the list.void
Move a taskDefinition from one spot in its list, to another.setTaskState
(@NotNull PlanKey planKey, long taskId, boolean isEnabled) Update the disable state of specific taskDefinitionvoid
updateRepositoryIdsInJobsTasks
(@NotNull Job job, Map<Long, Long> repositoryIdsChanges) Updates task configurations affected by repository edition.
-
Method Details
-
createTask
TaskDefinition createTask(@NotNull @NotNull PlanKey planKey, @NotNull @NotNull TaskModuleDescriptor taskDescriptor, @Nullable @Nullable String userDescription, boolean isEnabled, @NotNull @NotNull Map<String, String> configuration, @NotNull @NotNull TaskRootDirectorySelector taskRootDirectorySelector) throws IllegalArgumentExceptionCreate a task Definition and save it against the plan- Parameters:
planKey
- of the plan to add the taskDefinition to, plan should be BuildabletaskDescriptor
- for the taskDefinition to be addeduserDescription
- description the user has specified for this taskDefinitionisEnabled
- - set enabled/disabled state of the newly created taskconfiguration
- configuration from the plugin for this taskDefinitiontaskRootDirectorySelector
- - data defining root of working directory of task- Returns:
- the
TaskDefinition
created - Throws:
IllegalArgumentException
- if planKey is invalid (e.g. doesn't exist or is not a buildable)
-
createTask
TaskDefinition createTask(@NotNull @NotNull PlanKey planKey, @NotNull @NotNull TaskModuleDescriptor taskDescriptor, @Nullable @Nullable String userDescription, boolean isEnabled, @NotNull @NotNull List<TaskConditionConfig> conditions, @NotNull @NotNull Map<String, String> configuration, @NotNull @NotNull TaskRootDirectorySelector taskRootDirectorySelector) throws IllegalArgumentExceptionCreate a task Definition and save it against the plan- Parameters:
planKey
- of the plan to add the taskDefinition to, plan should be BuildabletaskDescriptor
- for the taskDefinition to be addeduserDescription
- description the user has specified for this taskDefinitionisEnabled
- - set enabled/disabled state of the newly created taskconditions
- - task conditionsconfiguration
- configuration from the plugin for this taskDefinitiontaskRootDirectorySelector
- - data defining root of working directory of task- Returns:
- the
TaskDefinition
created - Throws:
IllegalArgumentException
- if planKey is invalid (e.g. doesn't exist or is not a buildable)
-
moveTask
void moveTask(@NotNull @NotNull PlanKey planKey, long taskId, long beforeId, long afterId, boolean isFinal) throws IllegalArgumentException, IllegalStateException Move a taskDefinition from one spot in its list, to another. And save changes. Uses the before and after tasks to ensure that the task list is in the same state the user saw when editing.- Parameters:
planKey
- the plan the taskDefinition is intaskId
- ID of the TaskDefinition to movebeforeId
- ID of the taskDefinition that will be before the moving Task, -1 if the beginning of the listafterId
- ID of the taskDefinition that will be after the moving Task, -1 if the end of the listisFinal
- whether the task being moved is finalising or not, may or may not require changing.- Throws:
IllegalArgumentException
- if planKey is invalid (e.g. doesn't exist or is not a buildable), or the task to move doesn't existIllegalStateException
- if the task list is not in the expected order, i.e there have been incompatable changes made to the list since the move request was sent.
-
deleteTask
void deleteTask(@NotNull @NotNull PlanKey planKey, long taskId) throws IllegalArgumentException, IllegalStateException Delete a given taskDefinition- Parameters:
planKey
- for the plan to delete the TaskDefinition fromtaskId
- of the TaskDefinition to delete.- Throws:
IllegalArgumentException
- if planKey is invalid (e.g. doesn't exist or is not a buildable),IllegalStateException
- if the task list has changed since submitting request, i.e the task isn't there to delete anymore.
-
editTask
TaskDefinition editTask(@NotNull @NotNull PlanKey planKey, long taskId, @Nullable @Nullable String userDescription, boolean isEnabled, @NotNull @NotNull Map<String, String> taskConfigurationMap, @NotNull @NotNull TaskRootDirectorySelector taskRootDirectorySelector) throws IllegalArgumentExceptionUpdate the details of specific taskDefinition- Parameters:
planKey
- - the plan the taskDefintion belongs to, must be buildabletaskId
- - the taskDefinition to edituserDescription
- - new user descriptionisEnabled
- - set new enabled/disabled statetaskConfigurationMap
- - new task ConfigurationtaskRootDirectorySelector
- - data defining root of working directory of task- Returns:
TaskDefinition
with updates.- Throws:
IllegalArgumentException
- if planKey or taskId is invalid.
-
editTask
TaskDefinition editTask(@NotNull @NotNull PlanKey planKey, long taskId, @Nullable @Nullable String userDescription, boolean isEnabled, @NotNull @NotNull List<TaskConditionConfig> conditions, @NotNull @NotNull Map<String, String> taskConfigurationMap, @NotNull @NotNull TaskRootDirectorySelector taskRootDirectorySelector) throws IllegalArgumentExceptionUpdate the details of specific taskDefinition- Parameters:
planKey
- - the plan the taskDefintion belongs to, must be buildabletaskId
- - the taskDefinition to edituserDescription
- - new user descriptionisEnabled
- - set new enabled/disabled stateconditions
- - task conditionstaskConfigurationMap
- - new task ConfigurationtaskRootDirectorySelector
- - data defining root of working directory of task- Returns:
TaskDefinition
with updates.- Throws:
IllegalArgumentException
- if planKey or taskId is invalid.
-
setTaskState
TaskDefinition setTaskState(@NotNull @NotNull PlanKey planKey, long taskId, boolean isEnabled) throws IllegalArgumentException Update the disable state of specific taskDefinition- Parameters:
planKey
- - the plan the taskDefintion belongs to, must be buildabletaskId
- - the taskDefinition to editisEnabled
- - set new enabled/disabled state- Returns:
TaskDefinition
with updates.- Throws:
IllegalArgumentException
- if planKey or taskId is invalid.
-
moveFinalBar
void moveFinalBar(PlanKey planKey, long beforeId, long afterId) throws IllegalArgumentException, IllegalStateException Moves the final Bar to a specific location in the list.- Parameters:
planKey
- - the plan the task list belongs tobeforeId
- - the id of the task we want before the bar, -1 if beginning of listafterId
- - the id of the task we want after the bar, -1 if end of list- Throws:
IllegalArgumentException
- if plan does not existIllegalStateException
- if task list has changed since move requested
-
createTaskList
Initializes task list of a plan with the provided list. WARNING: If plan has existing tasks they are erased. It is assumed that the list is well-formed (i.e. ids are properly initialized) It can be used when automatically creating Jobs.- Parameters:
planKey
- - the plan the task list belongs totaskDefinitions
- - list of the tasks to be added- Throws:
IllegalArgumentException
- if plan does not exist
-
getTasksRequirements
- Parameters:
planKey
-- Returns:
- requirements for the
Job
sTaskType
s - Throws:
IllegalArgumentException
- if plan does not existIllegalStateException
-
updateRepositoryIdsInJobsTasks
Updates task configurations affected by repository edition.- Parameters:
job
-repositoryIdsChanges
- mapping between old and new repositories ids- Since:
- 3.3
-
getRelevantTasksForRepositoryId
List<TaskDefinition> getRelevantTasksForRepositoryId(@NotNull @NotNull ImmutableJob job, long repositoryId) Return relevantTaskDefinition
for givenJob
and repositoryId- Parameters:
job
-repositoryId
-- Returns:
-