Package com.xebialabs.xlrelease.domain
Class CustomScriptTask
- java.lang.Object
-
- com.xebialabs.deployit.plugin.api.udm.base.BaseConfigurationItem
-
- com.xebialabs.xlrelease.domain.PlanItem
-
- com.xebialabs.xlrelease.domain.Task
-
- com.xebialabs.xlrelease.domain.BaseScriptTask
-
- com.xebialabs.xlrelease.domain.CustomScriptTask
-
- All Implemented Interfaces:
ConfigurationItem,Lockable,VisitableItem,java.io.Serializable,java.lang.Comparable<BaseConfigurationItem>
@Metadata(label="Python Script", versioned=false) public class CustomScriptTask extends BaseScriptTask
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringIGNORE_SCRIPT_VARIABLE_INTERPOLATIONstatic java.lang.StringPYTHON_SCRIPT_PREFIXstatic java.lang.StringSCRIPT_PROPERTY_NAMEstatic TypeUNKNOWN_TYPEstatic java.lang.StringWAIT_FOR_SIGNAL_PROPERTY_NAME-
Fields inherited from class com.xebialabs.xlrelease.domain.Task
CATEGORY_INPUT, CATEGORY_OUTPUT, delayDuringBlackout, DUE_SOON_THRESHOLD, executionId, failureHandler, failuresCount, hasBeenDelayed, hasBeenFlagged, IS_AUTOMATED_AND_IN_PROGRESS, maxCommentSize, originalScheduledStartDate, postponedDueToBlackout, postponedUntilEnvironmentsAreReserved, precondition, status, tags, taskFailureHandlerEnabled, taskRecoverOp, team, UNKNOWN_TASK_TYPE, variableMapping, waitForScheduledStartDate
-
Fields inherited from class com.xebialabs.xlrelease.domain.PlanItem
BY_TITLE, description, dueDate, endDate, flagComment, flagStatus, overdueNotified, owner, plannedDuration, scheduledStartDate, startDate, title
-
Fields inherited from class com.xebialabs.deployit.plugin.api.udm.base.BaseConfigurationItem
id, syntheticProperties, type
-
Fields inherited from interface com.xebialabs.deployit.plugin.api.udm.ConfigurationItem
SYNTHETIC_PROPERTIES_FIELD, TYPE_FIELD
-
-
Constructor Summary
Constructors Constructor Description CustomScriptTask()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Changesexecute(java.lang.String targetId, TaskStartOrRetryOperation operation)Changesfail(java.lang.String targetId, java.lang.String failReason, User user, boolean fromAbort)java.util.Set<java.lang.String>freezeVariablesInCustomFields(java.util.Map<java.lang.String,ValueWithInterpolation> variables, java.util.Map<java.lang.String,java.lang.String> passwordVariables, Changes changes, boolean freezeEvenIfUnresolved)To be overridden in child classes with custom fields that can contain variables.java.lang.StringgetAbortScript()java.lang.StringgetAbortScriptPath()java.lang.StringgetEngine()java.lang.IntegergetInterval()java.lang.StringgetNextScriptPath()PythonScriptgetPythonScript()java.lang.StringgetScriptPath()java.lang.StringgetStatusLine()java.util.List<UsagePoint>getVariableUsages()booleanhasAbortScript()booleanhasNextScriptToExecute()booleanisFailureHandlerEnabled()booleanisKeepPreviousOutputPropertiesOnRetry()booleanisPreconditionEnabled()booleanisPropertyVariableInterpolationOff(PythonScript pythonScript)booleanisSupportedInWorkflow()booleanisUnknown()booleanisWaitingForSignal()voidresetSchedule()Changesretry(java.lang.String targetId)voidschedule(java.lang.String scriptPath)Tells the custom script task that the next script needs to be scheduled after this Jython script is finished.voidschedule(java.lang.String scriptPath, java.lang.Integer interval)Tells the custom script task that the next script needs to be scheduled after this Jython script is finished with specified delay in seconds.voidsetInterval(java.lang.Integer interval)voidsetKeepPreviousOutputPropertiesOnRetry(boolean keepPreviousOutputPropertiesOnRetry)voidsetNextScriptPath(java.lang.String nextScriptPath)voidsetPythonScript(PythonScript pythonScript)voidsetStatusLine(java.lang.String statusLine)protected booleanshouldFreezeVariableMapping(CiProperty property)-
Methods inherited from class com.xebialabs.xlrelease.domain.BaseScriptTask
executeScript
-
Methods inherited from class com.xebialabs.xlrelease.domain.Task
abort, accept, addWatcher, applyDefaults, canBeBackup, canScheduleTaskStart, canStartNow, checkDatesValidity, clearComments, delayDuringBlackoutHasChanged, deleteAttachment, deleteTask, fail, fail, fail, failureHandlerHasChanged, findComment, freezeVariables, fromType, fromType, generateExecutionId, getAllTasks, getAttachments, getChildren, getCiUid, getComments, getConfigurationUri, getContainer, getDelayedCount, getDisplayPath, getElapsedDurationFraction, getExecutionId, getFacets, getFailureHandler, getFailuresCount, getFlaggedCount, getInputVariables, getMaxCommentSize, getOriginalScheduledStartDate, getPhase, getPrecondition, getReferencedVariables, getRelease, getReleaseOwner, getReleaseUid, getStatus, getTags, getTaskRecoverOp, getTaskType, getTeam, getUnboundRequiredVariables, getUrl, getVariableMapping, getWatchers, hasBeenDelayed, hasBeenFlagged, hasBeenStarted, hasFailureHandlerScript, hasTaskRecoverOp, hasTeam, hasVariableMapping, isAborted, isAbortScriptInProgress, isActive, isAssignedTo, isAutomated, isCheckAttributes, isCompletedInAdvance, isDefaultTaskType, isDefunct, isDelayDuringBlackout, isDone, isDoneInAdvance, isDueSoon, isDueSoonNotified, isFacetInProgress, isFailed, isFailing, isFailureHandlerInProgress, isGate, isInProgress, isLocked, isMovable, isNotYetReached, isParallelGroup, isPending, isPlanned, isPostponedDueToBlackout, isPostponedUntilEnvironmentsAreReserved, isPreconditionInProgress, isSkipped, isSkippedInAdvance, isStillExecutingScript, isTaskFailureHandlerEnabled, isTaskGroup, isUpdatable, isWaitForScheduledStartDate, isWaitingForInput, lock, markAsDone, ownerHasBeenReassigned, postponeUntilEnvironmentsAreReserved, preconditionHasChanged, removeWatcher, reopen, replaceTask, resetToPlanned, setAttachments, setCheckAttributes, setCiUid, setConfigurationUri, setContainer, setDelayDuringBlackout, setDueSoonNotified, setExecutionId, setFacets, setFailureHandler, setFailuresCount, setFlagStatus, setHasBeenDelayed, setHasBeenFlagged, setLocked, setMaxCommentSize, setOriginalScheduledStartDate, setPostponedDueToBlackout, setPostponedUntilEnvironmentsAreReserved, setPrecondition, setReleaseUid, setScheduledStartDate, setStatus, setSupportedInWorkflow, setTags, setTaskFailureHandlerEnabled, setTaskRecoverOp, setTeam, setVariableMapping, setWaitForScheduledStartDate, setWatchers, shouldFacetBeChecked, shouldNotifyDueSoon, shouldPreconditionBeChecked, start, startNow, startPending, startWithInput, teamHasBeenReassigned, unlock, updateComment
-
Methods inherited from class com.xebialabs.xlrelease.domain.PlanItem
calculateDueDate, checkDatesValidity, getActualDuration, getComputedPlannedDuration, getDescription, getDueDate, getEndDate, getEndOrDueDate, getFlagComment, getFlagStatus, getOrCalculateDueDate, getOwner, getPlannedDuration, getScheduledStartDate, getStartDate, getStartOrScheduledDate, getTitle, hasDueDate, hasEndDate, hasEndOrDueDate, hasOwner, hasOwner, hasPlannedDuration, hasScheduledStartDate, hasStartDate, hasStartOrScheduledDate, hasTitle, hasTitle, hasValidStartDates, isFlagged, isOverdue, isOverdueNotified, isTitleContaining, moveChildren, setDates, setDescription, setDueDate, setEndDate, setFlagComment, setOverdueNotified, setOwner, setPlannedDuration, setStartAndEndDatesIfEmpty, setStartDate, setTitle, shouldNotifyOverdue, updateDates, updateDuration
-
Methods inherited from class com.xebialabs.deployit.plugin.api.udm.base.BaseConfigurationItem
compareTo, equals, get$ciAttributes, get$directoryReference, get$externalProperties, get$internalId, get$referenceId, get$securedCi, get$securedDirectoryReference, get$token, get$validationMessages, getId, getName, getProperty, getPropertyDescriptor, getType, hashCode, hasProperty, set$ciAttributes, set$directoryReference, set$externalProperties, set$internalId, set$referenceId, set$securedCi, set$securedDirectoryReference, set$token, set$validationMessages, setId, setProperty, setType, toString
-
-
-
-
Field Detail
-
UNKNOWN_TYPE
public static final Type UNKNOWN_TYPE
-
PYTHON_SCRIPT_PREFIX
public static final java.lang.String PYTHON_SCRIPT_PREFIX
- See Also:
- Constant Field Values
-
IGNORE_SCRIPT_VARIABLE_INTERPOLATION
public static final java.lang.String IGNORE_SCRIPT_VARIABLE_INTERPOLATION
- See Also:
- Constant Field Values
-
SCRIPT_PROPERTY_NAME
public static final java.lang.String SCRIPT_PROPERTY_NAME
- See Also:
- Constant Field Values
-
WAIT_FOR_SIGNAL_PROPERTY_NAME
public static final java.lang.String WAIT_FOR_SIGNAL_PROPERTY_NAME
- See Also:
- Constant Field Values
-
-
Method Detail
-
freezeVariablesInCustomFields
public java.util.Set<java.lang.String> freezeVariablesInCustomFields(java.util.Map<java.lang.String,ValueWithInterpolation> variables, java.util.Map<java.lang.String,java.lang.String> passwordVariables, Changes changes, boolean freezeEvenIfUnresolved)
Description copied from class:TaskTo be overridden in child classes with custom fields that can contain variables.
ApplyVariableHelper.replaceAll(Object, Map, Set, boolean)to each field; if child entities are modified, add them tochanges.- Overrides:
freezeVariablesInCustomFieldsin classTask
-
shouldFreezeVariableMapping
protected boolean shouldFreezeVariableMapping(CiProperty property)
- Overrides:
shouldFreezeVariableMappingin classTask
-
isPreconditionEnabled
public boolean isPreconditionEnabled()
- Overrides:
isPreconditionEnabledin classTask
-
isFailureHandlerEnabled
public boolean isFailureHandlerEnabled()
- Overrides:
isFailureHandlerEnabledin classTask
-
execute
protected Changes execute(java.lang.String targetId, TaskStartOrRetryOperation operation)
-
getPythonScript
public PythonScript getPythonScript()
-
setPythonScript
public void setPythonScript(PythonScript pythonScript)
-
getEngine
public java.lang.String getEngine()
- Specified by:
getEnginein classBaseScriptTask
-
getStatusLine
public java.lang.String getStatusLine()
-
setStatusLine
public void setStatusLine(java.lang.String statusLine)
-
getVariableUsages
public java.util.List<UsagePoint> getVariableUsages()
- Overrides:
getVariableUsagesin classTask
-
setNextScriptPath
public void setNextScriptPath(java.lang.String nextScriptPath)
-
getNextScriptPath
public java.lang.String getNextScriptPath()
-
getInterval
public java.lang.Integer getInterval()
-
setInterval
public void setInterval(java.lang.Integer interval)
-
hasNextScriptToExecute
public boolean hasNextScriptToExecute()
-
schedule
public void schedule(java.lang.String scriptPath)
Tells the custom script task that the next script needs to be scheduled after this Jython script is finished. The passed script path must be a valid Jython script on the classpath.
-
schedule
public void schedule(java.lang.String scriptPath, java.lang.Integer interval)Tells the custom script task that the next script needs to be scheduled after this Jython script is finished with specified delay in seconds. The passed script path must be a valid Jython script on the classpath. The passed interval must be any value between 1 and 231-1.
-
resetSchedule
public void resetSchedule()
-
fail
public Changes fail(java.lang.String targetId, java.lang.String failReason, User user, boolean fromAbort)
-
isWaitingForSignal
public boolean isWaitingForSignal()
-
getScriptPath
public java.lang.String getScriptPath()
-
hasAbortScript
public boolean hasAbortScript()
- Overrides:
hasAbortScriptin classTask
-
getAbortScriptPath
public java.lang.String getAbortScriptPath()
-
getAbortScript
public java.lang.String getAbortScript() throws java.io.IOException- Overrides:
getAbortScriptin classTask- Throws:
java.io.IOException
-
isPropertyVariableInterpolationOff
public boolean isPropertyVariableInterpolationOff(PythonScript pythonScript)
-
isUnknown
public boolean isUnknown()
-
isKeepPreviousOutputPropertiesOnRetry
public boolean isKeepPreviousOutputPropertiesOnRetry()
-
setKeepPreviousOutputPropertiesOnRetry
public void setKeepPreviousOutputPropertiesOnRetry(boolean keepPreviousOutputPropertiesOnRetry)
-
isSupportedInWorkflow
public boolean isSupportedInWorkflow()
- Overrides:
isSupportedInWorkflowin classTask
-
-