Package com.atlassian.bamboo.plan
Interface PlanExecutionManager
-
- All Superinterfaces:
ExecutionStatusProvider
- All Known Implementing Classes:
DelegatingPlanExecutionManager,PlanExecutionManagerImpl
@PublicApi public interface PlanExecutionManager extends ExecutionStatusProvider
Generic Execution Manager forPlan's- Since:
- 2.7
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description @NotNull List<CurrentlyBuilding>getCurrentlyBuildingForPlan(PlanKey planKey)@NotNull List<CurrentlyBuilding>getCurrentlyBuildingForPlanResult(PlanResultKey planKey)Returns allCurrentlyBuildingfor specifiedPlanResultKeyIn case plan is aChaininstance, all currently running jobs will be returned, however, chain itself will be not included in the list (effectivelyCurrentlyBuildingfor all chain's children jobs will be returned)booleanisBuildingAllowed(@NotNull ImmutableChain chain)Checks if a particular build is allowed to be built.booleanisBusy()booleanisBusy(@NotNull PlanKey planKey)Future<Boolean>shutdown()@NotNull ExecutionRequestResultstart(@NotNull ImmutableChain chain, @NotNull BuildDetectionAction buildDetectionAction, @NotNull AcquisitionPolicy acquisitionPolicy)default @NotNull ExecutionRequestResultstart(@NotNull ImmutableChain chain, @NotNull BuildDetectionAction buildDetectionAction, @NotNull AcquisitionPolicy acquisitionPolicy, PlanExecutionLaunchControl.ReleaseLocksActions releaseLocksActions)@NotNull ExecutionRequestResultstart(@NotNull ImmutableChain chain, @Nullable PlanExecutionConfig planExecutionConfig, @NotNull String triggerReasonPluginKey, @NotNull String planTriggerPluginKey, @NotNull Map<String,String> params, @NotNull Map<String,String> variables, @NotNull AcquisitionPolicy acquisitionPolicy)@NotNull ExecutionRequestResultstart(@NotNull Triggerable triggerable, @NotNull BuildDetectionAction buildDetectionAction, @NotNull AcquisitionPolicy acquisitionPolicy)default @NotNull ExecutionRequestResultstart(@NotNull Triggerable triggerable, @NotNull BuildDetectionAction buildDetectionAction, @NotNull AcquisitionPolicy acquisitionPolicy, PlanExecutionLaunchControl.ReleaseLocksActions releaseLocksActions)@NotNull ExecutionRequestResultstartManualExecution(@NotNull ImmutableChain chain, @NotNull com.atlassian.user.User user, @NotNull Map<String,String> params, @NotNull Map<String,String> variables)Attempts to start a manual execution of the givenPlan@NotNull ExecutionRequestResultstartManualExecution(@NotNull ImmutableChain chain, PlanExecutionConfig planExecutionConfig, @NotNull com.atlassian.user.User user, @NotNull String triggerReasonPluginKey, @NotNull String planTriggerPluginKey, @NotNull Map<String,String> params, @NotNull Map<String,String> variables)Attempts to start a manual execution of a givenPlancontrolled byPlanExecutionConfigPlanExecutionConfigallows to control manual stages execution as well as enforcing execution of manual stages@NotNull ExecutionRequestResultstartManualExecution(@NotNull ImmutableChain chain, PlanExecutionConfig planExecutionConfig, @NotNull com.atlassian.user.User user, @NotNull Map<String,String> params, @NotNull Map<String,String> variables)Attempts to start a manual execution of a givenPlancontrolled byPlanExecutionConfigPlanExecutionConfigallows to control manual stages execution as well as enforcing execution of manual stagesvoidstopPlan(@NotNull PlanKey planKey, boolean abandonResult, String userName)voidstopPlan(@NotNull PlanResultKey planResultKey, boolean abandonResult, String userName)voidstopRequest(@NotNull PlanKey planKey)Stops a build requests for the givenPlanKey-
Methods inherited from interface com.atlassian.bamboo.plan.ExecutionStatusProvider
getExecutionStatus, getExecutionStatus, getJobExecution, numberOfExecutions
-
-
-
-
Method Detail
-
isBusy
boolean isBusy()
- Returns:
- if the server is busy building
- Since:
- 3.3
-
isBusy
boolean isBusy(@NotNull @NotNull PlanKey planKey)- Parameters:
planKey-- Returns:
- busy
-
start
@NotNull @NotNull ExecutionRequestResult start(@NotNull @NotNull ImmutableChain chain, @NotNull @NotNull BuildDetectionAction buildDetectionAction, @NotNull @NotNull AcquisitionPolicy acquisitionPolicy)
Execute theImmutableChainwith the providedBuildDetectionActionandAcquisitionPolicyCalls to this method will acquire a lock according to the
AcquisitionPolicyon a perPlangranularity- Parameters:
chain-buildDetectionAction-acquisitionPolicy-- Returns:
- planExecutionResult
- Throws:
IncorrectPlanTypeException- if thePlancould not be processed
-
start
@NotNull default @NotNull ExecutionRequestResult start(@NotNull @NotNull ImmutableChain chain, @NotNull @NotNull BuildDetectionAction buildDetectionAction, @NotNull @NotNull AcquisitionPolicy acquisitionPolicy, @NotNull PlanExecutionLaunchControl.ReleaseLocksActions releaseLocksActions)
Execute theImmutableChainwith the providedBuildDetectionActionandAcquisitionPolicyCalls to this method will acquire a lock according to the
AcquisitionPolicyon a perPlangranularity- Parameters:
chain-buildDetectionAction-acquisitionPolicy-releaseLocksActions- actions used for releasing repositories caches locks- Returns:
- planExecutionResult
- Throws:
IncorrectPlanTypeException- if thePlancould not be processed- Since:
- 9.3
-
start
@NotNull @NotNull ExecutionRequestResult start(@NotNull @NotNull Triggerable triggerable, @NotNull @NotNull BuildDetectionAction buildDetectionAction, @NotNull @NotNull AcquisitionPolicy acquisitionPolicy)
Execute theTriggerablewith the providedBuildDetectionActionandAcquisitionPolicyCalls to this method will acquire a lock according to the
AcquisitionPolicyon a perPlangranularity- Parameters:
triggerable-buildDetectionAction-acquisitionPolicy-- Returns:
- planExecutionResult
- Throws:
IncorrectPlanTypeException- if thePlancould not be processed- Since:
- 5.0
-
start
@NotNull default @NotNull ExecutionRequestResult start(@NotNull @NotNull Triggerable triggerable, @NotNull @NotNull BuildDetectionAction buildDetectionAction, @NotNull @NotNull AcquisitionPolicy acquisitionPolicy, @NotNull PlanExecutionLaunchControl.ReleaseLocksActions releaseLocksActions)
Execute theTriggerablewith the providedBuildDetectionActionandAcquisitionPolicyCalls to this method will acquire a lock according to the
AcquisitionPolicyon a perPlangranularity- Parameters:
triggerable-buildDetectionAction-acquisitionPolicy-releaseLocksActions- actions used for releasing repositories caches locks- Returns:
- planExecutionResult
- Throws:
IncorrectPlanTypeException- if thePlancould not be processed- Since:
- 9.3
-
start
@NotNull @NotNull ExecutionRequestResult start(@NotNull @NotNull ImmutableChain chain, @Nullable @Nullable PlanExecutionConfig planExecutionConfig, @NotNull @NotNull String triggerReasonPluginKey, @NotNull @NotNull String planTriggerPluginKey, @NotNull @NotNull Map<String,String> params, @NotNull @NotNull Map<String,String> variables, @NotNull @NotNull AcquisitionPolicy acquisitionPolicy)
- Parameters:
chain-planExecutionConfig- extended configuration for executiontriggerReasonPluginKey- full plugin key for aTriggerReasonplanTriggerPluginKey- full plugin key for aPlanTriggerparams- custom paramsvariables- overriden variablesacquisitionPolicy- to aquire the lock- Returns:
- planExecutionResult
- Throws:
IncorrectPlanTypeException- if thePlancould not be processed
-
startManualExecution
@NotNull @NotNull ExecutionRequestResult startManualExecution(@NotNull @NotNull ImmutableChain chain, @NotNull @NotNull com.atlassian.user.User user, @NotNull @NotNull Map<String,String> params, @NotNull @NotNull Map<String,String> variables)
Attempts to start a manual execution of the givenPlan- Parameters:
chain-user-params- - additional execution parameters set in code to parametrized build - not exposed to uservariables- - user defined variables that could be parametrized in manual execution - contain only values changed by user in UI- Returns:
- executionRequestResult
-
startManualExecution
@NotNull @NotNull ExecutionRequestResult startManualExecution(@NotNull @NotNull ImmutableChain chain, PlanExecutionConfig planExecutionConfig, @NotNull @NotNull com.atlassian.user.User user, @NotNull @NotNull Map<String,String> params, @NotNull @NotNull Map<String,String> variables)
Attempts to start a manual execution of a givenPlancontrolled byPlanExecutionConfigPlanExecutionConfigallows to control manual stages execution as well as enforcing execution of manual stages- Parameters:
chain-planExecutionConfig-user-params-variables-- Returns:
-
startManualExecution
@NotNull @NotNull ExecutionRequestResult startManualExecution(@NotNull @NotNull ImmutableChain chain, PlanExecutionConfig planExecutionConfig, @NotNull @NotNull com.atlassian.user.User user, @NotNull @NotNull String triggerReasonPluginKey, @NotNull @NotNull String planTriggerPluginKey, @NotNull @NotNull Map<String,String> params, @NotNull @NotNull Map<String,String> variables)
Attempts to start a manual execution of a givenPlancontrolled byPlanExecutionConfigPlanExecutionConfigallows to control manual stages execution as well as enforcing execution of manual stages- Parameters:
chain-planExecutionConfig-user-triggerReasonPluginKey-planTriggerPluginKey-params-variables-- Returns:
-
isBuildingAllowed
boolean isBuildingAllowed(@NotNull @NotNull ImmutableChain chain)Checks if a particular build is allowed to be built. It checks if it exists, not suspened, and that there is no global flag that has stopped building- Parameters:
chain-- Returns:
- true if plan is allowed to be built
-
getCurrentlyBuildingForPlan
@NotNull @NotNull List<CurrentlyBuilding> getCurrentlyBuildingForPlan(PlanKey planKey)
Returns all for specifiedPlanKeyIn case plan is aChaininstance, all currently running jobs will be returned- Parameters:
planKey-- Returns:
-
getCurrentlyBuildingForPlanResult
@NotNull @NotNull List<CurrentlyBuilding> getCurrentlyBuildingForPlanResult(PlanResultKey planKey)
Returns allCurrentlyBuildingfor specifiedPlanResultKeyIn case plan is aChaininstance, all currently running jobs will be returned, however, chain itself will be not included in the list (effectivelyCurrentlyBuildingfor all chain's children jobs will be returned)- Parameters:
planKey-- Returns:
-
stopPlan
void stopPlan(@NotNull @NotNull PlanResultKey planResultKey, boolean abandonResult, String userName)
-
stopPlan
void stopPlan(@NotNull @NotNull PlanKey planKey, boolean abandonResult, String userName) throws InterruptedException- Throws:
InterruptedException
-
stopRequest
void stopRequest(@NotNull @NotNull PlanKey planKey)Stops a build requests for the givenPlanKey- Parameters:
planKey-- Since:
- 3.3.3
-
-