Package com.xebialabs.xlrelease.domain

## Class Task

- java.lang.Object
- - com.xebialabs.deployit.plugin.api.udm.base.BaseConfigurationItem
  - - com.xebialabs.xlrelease.domain.PlanItem
    - - com.xebialabs.xlrelease.domain.Task

- All Implemented Interfaces:
    `ConfigurationItem`, `Lockable`, `VisitableItem`, `java.io.Serializable`, `java.lang.Comparable<BaseConfigurationItem>`
  Direct Known Subclasses:
    `BaseScriptTask`, `ContainerTask`, `CreateReleaseTask`, `GateTask`, `NotificationTask`, `TaskGroup`, `UserInputTask`

      @Metadata(label="Manual",
                versioned=false)
      public class Task
      extends PlanItem
      implements Lockable

  An Digital.ai Release task. See also `GateTask`.
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static java.lang.String` | `CATEGORY_INPUT` |
    `static java.lang.String` | `CATEGORY_OUTPUT` |
    `protected boolean` | `delayDuringBlackout` |
    `static double` | `DUE_SOON_THRESHOLD` |
    `protected java.lang.String` | `executionId` |
    `protected java.lang.String` | `failureHandler` |
    `protected int` | `failuresCount` |
    `protected boolean` | `hasBeenDelayed` |
    `protected boolean` | `hasBeenFlagged` |
    `static java.util.function.Predicate<Task>` | `IS_AUTOMATED_AND_IN_PROGRESS` |
    `protected int` | `maxCommentSize` |
    `protected java.util.Date` | `originalScheduledStartDate` |
    `protected boolean` | `postponedDueToBlackout` |
    `protected boolean` | `postponedUntilEnvironmentsAreReserved` |
    `protected java.lang.String` | `precondition` |
    `protected TaskStatus` | `status` |
    `protected java.util.List<java.lang.String>` | `tags` |
    `protected boolean` | `taskFailureHandlerEnabled` |
    `protected TaskRecoverOp` | `taskRecoverOp` |
    `protected java.lang.String` | `team` |
    `static Type` | `UNKNOWN_TASK_TYPE` |
    `protected java.util.Map<java.lang.String,​java.lang.String>` | `variableMapping` |
    `protected boolean` | `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
    --- | ---
    `Task()` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Changes` | `abort()` |
    `void` | `accept​(ReleaseVisitor visitor)` |
    `void` | `addWatcher​(java.lang.String watcher)` |
    `protected void` | `applyDefaults()` |
    `boolean` | `canBeBackup()` |
    `boolean` | `canScheduleTaskStart()` |
    `boolean` | `canStartNow()` |
    `void` | `checkDatesValidity()` |
    `void` | `clearComments()` |
    `boolean` | `delayDuringBlackoutHasChanged​(Task task)` |
    `void` | `deleteAttachment​(java.lang.String attachmentId)` |
    `void` | `deleteTask​(Task task)` |
    `protected Changes` | `execute​(java.lang.String targetId, TaskStartOrRetryOperation operation)` |
    `Changes` | `fail​(java.lang.String targetId, java.lang.String failReason)` |
    `Changes` | `fail​(java.lang.String targetId, java.lang.String failReason, boolean fromAbort)` |
    `Changes` | `fail​(java.lang.String targetId, java.lang.String failReason, User user)` |
    `Changes` | `fail​(java.lang.String targetId, java.lang.String failReason, User user, boolean fromAbort)` |
    `boolean` | `failureHandlerHasChanged​(Task task)` |
    `Comment` | `findComment​(java.lang.String commentId)` |
    `java.util.Set<java.lang.String>` | `freezeVariables​(Changes changes, boolean freezeEvenIfUnresolved)` |
    `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.
    `static <T extends Task> T` | `fromType​(Type taskType)` |
    `static <T extends Task> T` | `fromType​(java.lang.String taskType)` |
    `void` | `generateExecutionId()` |
    `java.lang.String` | `getAbortScript()` |
    `java.util.List<Task>` | `getAllTasks()` |
    `java.util.List<Attachment>` | `getAttachments()` |
    `java.util.List<PlanItem>` | `getChildren()` |
    `java.lang.Integer` | `getCiUid()` |
    `java.util.List<Comment>` | `getComments()` |
    `java.lang.String` | `getConfigurationUri()` |
    `TaskContainer` | `getContainer()` |
    `int` | `getDelayedCount()` |
    `java.lang.String` | `getDisplayPath()` |
    `double` | `getElapsedDurationFraction()` |
    `java.lang.String` | `getExecutionId()` |
    `java.util.List<Facet>` | `getFacets()` |
    `java.lang.String` | `getFailureHandler()` |
    `int` | `getFailuresCount()` |
    `int` | `getFlaggedCount()` |
    `java.util.List<Variable>` | `getInputVariables()` |
    `int` | `getMaxCommentSize()` |
    `java.util.Date` | `getOriginalScheduledStartDate()` |
    `Phase` | `getPhase()` |
    `java.lang.String` | `getPrecondition()` |
    `java.util.List<Variable>` | `getReferencedVariables()` |
    `Release` | `getRelease()` |
    `java.lang.String` | `getReleaseOwner()` |
    `java.lang.Integer` | `getReleaseUid()` |
    `TaskStatus` | `getStatus()` |
    `java.util.List<java.lang.String>` | `getTags()` |
    `TaskRecoverOp` | `getTaskRecoverOp()` |
    `Type` | `getTaskType()` |
    `java.lang.String` | `getTeam()` |
    `protected java.util.List<java.lang.String>` | `getUnboundRequiredVariables()` |
    `java.lang.String` | `getUrl()` |
    `java.util.Map<java.lang.String,​java.lang.String>` | `getVariableMapping()` |
    `java.util.List<UsagePoint>` | `getVariableUsages()` |
    `java.util.Set<java.lang.String>` | `getWatchers()` |
    `boolean` | `hasAbortScript()` |
    `boolean` | `hasBeenDelayed()` |
    `boolean` | `hasBeenFlagged()` |
    `boolean` | `hasBeenStarted()` |
    `protected boolean` | `hasFailureHandlerScript()` |
    `protected boolean` | `hasTaskRecoverOp()` |
    `boolean` | `hasTeam()` |
    `boolean` | `hasVariableMapping()` |
    `boolean` | `isAborted()` |
    `boolean` | `isAbortScriptInProgress()` |
    `boolean` | `isActive()` |
    `boolean` | `isAssignedTo​(Team team)` |
    `boolean` | `isAutomated()` |
    `boolean` | `isCheckAttributes()` |
    `boolean` | `isCompletedInAdvance()` |
    `static boolean` | `isDefaultTaskType​(Type type)` |
    `boolean` | `isDefunct()` |
    `boolean` | `isDelayDuringBlackout()` |
    `boolean` | `isDone()` |
    `boolean` | `isDoneInAdvance()` |
    `boolean` | `isDueSoon()` |
    `boolean` | `isDueSoonNotified()` |
    `boolean` | `isFacetInProgress()` |
    `boolean` | `isFailed()` |
    `boolean` | `isFailing()` |
    `boolean` | `isFailureHandlerEnabled()` |
    `boolean` | `isFailureHandlerInProgress()` |
    `boolean` | `isGate()` |
    `boolean` | `isInProgress()` |
    `boolean` | `isLocked()` |
    `boolean` | `isMovable()` |
    `boolean` | `isNotYetReached()` |
    `boolean` | `isParallelGroup()` |
    `boolean` | `isPending()` |
    `boolean` | `isPlanned()` |
    `boolean` | `isPostponedDueToBlackout()` |
    `boolean` | `isPostponedUntilEnvironmentsAreReserved()` |
    `boolean` | `isPreconditionEnabled()` |
    `boolean` | `isPreconditionInProgress()` |
    `boolean` | `isSkipped()` |
    `boolean` | `isSkippedInAdvance()` |
    `boolean` | `isStillExecutingScript​(java.lang.String executionId)` |
    `boolean` | `isSupportedInWorkflow()` |
    `boolean` | `isTaskFailureHandlerEnabled()` |
    `boolean` | `isTaskGroup()` |
    `boolean` | `isUpdatable()` |
    `boolean` | `isWaitForScheduledStartDate()` |
    `boolean` | `isWaitingForInput()` |
    `void` | `lock()` |
    `Changes` | `markAsDone​(java.lang.String targetId, TaskStatus status)` |
    `boolean` | `ownerHasBeenReassigned​(Task task)` |
    `Changes` | `postponeUntilEnvironmentsAreReserved​(java.util.Date postponeUntil)` |
    `boolean` | `preconditionHasChanged​(Task task)` |
    `void` | `removeWatcher​(java.lang.String watcher)` |
    `Changes` | `reopen()` |
    `void` | `replaceTask​(Task task)` |
    `Changes` | `resetToPlanned()` |
    `Changes` | `retry​(java.lang.String targetId)` |
    `void` | `setAttachments​(java.util.List<Attachment> attachments)` |
    `void` | `setCheckAttributes​(boolean checkAttributes)` |
    `void` | `setCiUid​(java.lang.Integer ciUid)` |
    `void` | `setConfigurationUri​(java.lang.String configurationUri)` |
    `void` | `setContainer​(TaskContainer container)` |
    `void` | `setDelayDuringBlackout​(boolean delayDuringBlackout)` |
    `void` | `setDueSoonNotified​(boolean dueSoonNotified)` |
    `void` | `setExecutionId​(java.lang.String executionId)` |
    `void` | `setFacets​(java.util.List<Facet> facets)` |
    `void` | `setFailureHandler​(java.lang.String failureHandler)` |
    `void` | `setFailuresCount​(int failuresCount)` |
    `void` | `setFlagStatus​(FlagStatus flagStatus)` |
    `void` | `setHasBeenDelayed​(boolean hasBeenDelayed)` |
    `void` | `setHasBeenFlagged​(boolean hasBeenFlagged)` |
    `void` | `setLocked​(boolean locked)` |
    `void` | `setMaxCommentSize​(int maxCommentSize)` |
    `void` | `setOriginalScheduledStartDate​(java.util.Date originalDate)` |
    `void` | `setPostponedDueToBlackout​(boolean delay)` |
    `Task` | `setPostponedUntilEnvironmentsAreReserved​(boolean postponedUntilEnvironmentsAreReserved)` |
    `void` | `setPrecondition​(java.lang.String precondition)` |
    `void` | `setReleaseUid​(java.lang.Integer releaseUid)` |
    `void` | `setScheduledStartDate​(java.util.Date scheduledStartDate)` |
    `void` | `setStatus​(TaskStatus status)` |
    `void` | `setSupportedInWorkflow​(boolean supportedInWorkflow)` |
    `void` | `setTags​(java.util.List<java.lang.String> tags)` |
    `void` | `setTaskFailureHandlerEnabled​(boolean taskFailureHandlerEnabled)` |
    `void` | `setTaskRecoverOp​(TaskRecoverOp taskRecoverOp)` |
    `void` | `setTeam​(java.lang.String team)` |
    `void` | `setVariableMapping​(java.util.Map<java.lang.String,​java.lang.String> variableMapping)` |
    `void` | `setWaitForScheduledStartDate​(boolean waitForScheduledStartDate)` |
    `void` | `setWatchers​(java.util.Set<java.lang.String> watchers)` |
    `boolean` | `shouldFacetBeChecked()` |
    `protected boolean` | `shouldFreezeVariableMapping​(CiProperty property)` |
    `boolean` | `shouldNotifyDueSoon()` |
    `boolean` | `shouldPreconditionBeChecked()` |
    `Changes` | `start()` |
    `protected Changes` | `startNow​(java.lang.String targetId, boolean shouldBePending)` |
    `Changes` | `startPending​(java.lang.String targetId)` |
    `Changes` | `startWithInput()` |
    `boolean` | `teamHasBeenReassigned​(Task task)` |
    `void` | `unlock()` |
    `void` | `updateComment​(Comment originalComment, Comment updatedComment)` |

    - ### 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`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### CATEGORY_INPUT

          public static final java.lang.String CATEGORY_INPUT

      See Also:
        Constant Field Values

    - #### CATEGORY_OUTPUT

          public static final java.lang.String CATEGORY_OUTPUT

      See Also:
        Constant Field Values

    - #### DUE_SOON_THRESHOLD

          public static final double DUE_SOON_THRESHOLD

      See Also:
        Constant Field Values

    - #### UNKNOWN_TASK_TYPE

          public static final Type UNKNOWN_TASK_TYPE

    - #### status

          @Property(description="The state the task is in.")
          protected TaskStatus status

    - #### team

          @Property(required=false,
                    description="The name of the team this task is assigned to.")
          protected java.lang.String team

    - #### waitForScheduledStartDate

          @Property(required=false,
                    defaultValue="true",
                    description="The task is not started until the scheduledStartDate is reached if set to true.")
          protected boolean waitForScheduledStartDate

    - #### delayDuringBlackout

          @Property(required=false,
                    defaultValue="false",
                    description="The task is to be delayed when a blackout period is active.")
          protected boolean delayDuringBlackout

    - #### postponedDueToBlackout

          @Property(required=false,
                    category="internal",
                    defaultValue="false",
                    description="The task is postponed by a blackout period")
          protected boolean postponedDueToBlackout

    - #### postponedUntilEnvironmentsAreReserved

          @Property(required=false,
                    category="internal",
                    defaultValue="false",
                    description="The task is waiting for environment(s) to be reserved")
          protected boolean postponedUntilEnvironmentsAreReserved

    - #### originalScheduledStartDate

          @Property(required=false,
                    category="internal",
                    description="The original scheduled start date.")
          protected java.util.Date originalScheduledStartDate

    - #### hasBeenFlagged

          @Property(required=false,
                    category="internal")
          protected boolean hasBeenFlagged

    - #### hasBeenDelayed

          @Property(required=false,
                    category="internal")
          protected boolean hasBeenDelayed

    - #### precondition

          @Property(required=false,
                    description="A snippet of code that is evaluated when the task is started.")
          protected java.lang.String precondition

    - #### failureHandler

          @Property(required=false,
                    description="A snippet of code that is evaluated when the task is failed.")
          protected java.lang.String failureHandler

    - #### taskFailureHandlerEnabled

          @Property(required=false,
                    defaultValue="false",
                    description="The failed script will be executed.")
          protected boolean taskFailureHandlerEnabled

    - #### taskRecoverOp

          @Property(required=false,
                    description="Task recovery operation performed after task failure.")
          protected TaskRecoverOp taskRecoverOp

    - #### failuresCount

          @Property(description="The number of times this task has failed.")
          protected int failuresCount

    - #### executionId

          @Property(required=false,
                    category="internal")
          protected java.lang.String executionId

    - #### variableMapping

          @Property(asContainment=true,
                    required=false,
                    description="Map from property name to a variable name that replaces that property")
          protected java.util.Map<java.lang.String,​java.lang.String> variableMapping

    - #### maxCommentSize

          @Property(hidden=true,
                    category="internal",
                    description="Maximum size of a comment on a task. Default value is 32768.",
                    defaultValue="32768")
          protected int maxCommentSize

    - #### tags

          @Property(required=false,
                    description="The tags of the task. Tags can be used for grouping and querying.")
          protected java.util.List<java.lang.String> tags

    - #### IS_AUTOMATED_AND_IN_PROGRESS

          public static final java.util.function.Predicate<Task> IS_AUTOMATED_AND_IN_PROGRESS

  - ### Constructor Detail

    - #### Task

          public Task()

  - ### Method Detail

    - #### getConfigurationUri

          public java.lang.String getConfigurationUri()

    - #### setConfigurationUri

          public void setConfigurationUri​(java.lang.String configurationUri)

    - #### getCiUid

          public java.lang.Integer getCiUid()

    - #### setCiUid

          public void setCiUid​(java.lang.Integer ciUid)

    - #### getComments

          public java.util.List<Comment> getComments()

    - #### getContainer

          public TaskContainer getContainer()

    - #### setContainer

          public void setContainer​(TaskContainer container)

    - #### getStatus

          public TaskStatus getStatus()

    - #### setStatus

          public void setStatus​(TaskStatus status)

    - #### getTeam

          public java.lang.String getTeam()

    - #### hasTeam

          public boolean hasTeam()

    - #### setTeam

          public void setTeam​(java.lang.String team)

    - #### getWatchers

          public java.util.Set<java.lang.String> getWatchers()

    - #### setWatchers

          public void setWatchers​(java.util.Set<java.lang.String> watchers)

    - #### addWatcher

          public void addWatcher​(java.lang.String watcher)

    - #### removeWatcher

          public void removeWatcher​(java.lang.String watcher)

    - #### setPrecondition

          public void setPrecondition​(java.lang.String precondition)

    - #### getPrecondition

          public java.lang.String getPrecondition()

    - #### getFailureHandler

          public java.lang.String getFailureHandler()

    - #### getAbortScript

          public java.lang.String getAbortScript()
                                          throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### setFailureHandler

          public void setFailureHandler​(java.lang.String failureHandler)

    - #### isTaskFailureHandlerEnabled

          public boolean isTaskFailureHandlerEnabled()

    - #### setTaskFailureHandlerEnabled

          public void setTaskFailureHandlerEnabled​(boolean taskFailureHandlerEnabled)

    - #### getTaskRecoverOp

          public TaskRecoverOp getTaskRecoverOp()

    - #### setTaskRecoverOp

          public void setTaskRecoverOp​(TaskRecoverOp taskRecoverOp)

    - #### getTags

          public java.util.List<java.lang.String> getTags()

    - #### setTags

          public void setTags​(java.util.List<java.lang.String> tags)

    - #### isCheckAttributes

          public boolean isCheckAttributes()

    - #### setCheckAttributes

          public void setCheckAttributes​(boolean checkAttributes)

    - #### setVariableMapping

          public void setVariableMapping​(java.util.Map<java.lang.String,​java.lang.String> variableMapping)

    - #### getVariableMapping

          public java.util.Map<java.lang.String,​java.lang.String> getVariableMapping()

    - #### hasVariableMapping

          public boolean hasVariableMapping()

    - #### setMaxCommentSize

          public void setMaxCommentSize​(int maxCommentSize)

    - #### getMaxCommentSize

          public int getMaxCommentSize()

    - #### isDefaultTaskType

          public static boolean isDefaultTaskType​(Type type)

    - #### fromType

          public static <T extends Task> T fromType​(java.lang.String taskType)

    - #### fromType

          public static <T extends Task> T fromType​(Type taskType)

    - #### applyDefaults

          protected void applyDefaults()

    - #### getPhase

          public Phase getPhase()

    - #### start

          public Changes start()

    - #### canStartNow

          public boolean canStartNow()

    - #### canScheduleTaskStart

          public boolean canScheduleTaskStart()

    - #### startPending

          public Changes startPending​(java.lang.String targetId)

    - #### startWithInput

          public Changes startWithInput()

    - #### retry

          public Changes retry​(java.lang.String targetId)

    - #### setScheduledStartDate

          public void setScheduledStartDate​(java.util.Date scheduledStartDate)

      Overrides:
        `setScheduledStartDate` in class `PlanItem`

    - #### startNow

          protected Changes startNow​(java.lang.String targetId,
                                     boolean shouldBePending)

    - #### execute

          protected Changes execute​(java.lang.String targetId,
                                    TaskStartOrRetryOperation operation)

    - #### shouldFacetBeChecked

          public boolean shouldFacetBeChecked()

    - #### canBeBackup

          public boolean canBeBackup()

    - #### shouldPreconditionBeChecked

          public boolean shouldPreconditionBeChecked()

    - #### postponeUntilEnvironmentsAreReserved

          public Changes postponeUntilEnvironmentsAreReserved​(java.util.Date postponeUntil)

    - #### markAsDone

          public Changes markAsDone​(java.lang.String targetId,
                                    TaskStatus status)

      Parameters:
        `targetId` - since tasks nest, this can either be the id of this task or the id of one of its children

    - #### fail

          public Changes fail​(java.lang.String targetId,
                              java.lang.String failReason)

    - #### fail

          public Changes fail​(java.lang.String targetId,
                              java.lang.String failReason,
                              User user)

    - #### fail

          public Changes fail​(java.lang.String targetId,
                              java.lang.String failReason,
                              boolean fromAbort)

    - #### fail

          public Changes fail​(java.lang.String targetId,
                              java.lang.String failReason,
                              User user,
                              boolean fromAbort)

    - #### reopen

          public Changes reopen()

    - #### abort

          public Changes abort()

    - #### hasBeenStarted

          public boolean hasBeenStarted()

      Specified by:
        `hasBeenStarted` in class `PlanItem`

    - #### hasBeenFlagged

          public boolean hasBeenFlagged()

    - #### getFlaggedCount

          public int getFlaggedCount()

    - #### getDelayedCount

          public int getDelayedCount()

    - #### hasBeenDelayed

          public boolean hasBeenDelayed()

    - #### getFailuresCount

          public int getFailuresCount()

    - #### setHasBeenFlagged

          public void setHasBeenFlagged​(boolean hasBeenFlagged)

    - #### setHasBeenDelayed

          public void setHasBeenDelayed​(boolean hasBeenDelayed)

    - #### setFailuresCount

          public void setFailuresCount​(int failuresCount)

    - #### isDone

          public boolean isDone()

      Specified by:
        `isDone` in class `PlanItem`

    - #### isDoneInAdvance

          public boolean isDoneInAdvance()

    - #### isDefunct

          public boolean isDefunct()

    - #### isUpdatable

          public boolean isUpdatable()

      Specified by:
        `isUpdatable` in class `PlanItem`

    - #### isAborted

          public boolean isAborted()

      Specified by:
        `isAborted` in class `PlanItem`

    - #### isNotYetReached

          public boolean isNotYetReached()

    - #### isPlanned

          public boolean isPlanned()

    - #### isActive

          public boolean isActive()

      Specified by:
        `isActive` in class `PlanItem`

    - #### isInProgress

          public boolean isInProgress()

    - #### isPending

          public boolean isPending()

    - #### isWaitingForInput

          public boolean isWaitingForInput()

    - #### isFailed

          public boolean isFailed()

    - #### isFailing

          public boolean isFailing()

    - #### isCompletedInAdvance

          public boolean isCompletedInAdvance()

    - #### isSkipped

          public boolean isSkipped()

    - #### isSkippedInAdvance

          public boolean isSkippedInAdvance()

    - #### isPreconditionInProgress

          public boolean isPreconditionInProgress()

    - #### isFailureHandlerInProgress

          public boolean isFailureHandlerInProgress()

    - #### isAbortScriptInProgress

          public boolean isAbortScriptInProgress()

    - #### isFacetInProgress

          public boolean isFacetInProgress()

    - #### hasFailureHandlerScript

          protected boolean hasFailureHandlerScript()

    - #### hasAbortScript

          public boolean hasAbortScript()

    - #### hasTaskRecoverOp

          protected boolean hasTaskRecoverOp()

    - #### isMovable

          public boolean isMovable()

    - #### isAssignedTo

          public boolean isAssignedTo​(Team team)

    - #### isGate

          public boolean isGate()

    - #### isTaskGroup

          public boolean isTaskGroup()

    - #### isParallelGroup

          public boolean isParallelGroup()

    - #### getAttachments

          public java.util.List<Attachment> getAttachments()

    - #### setAttachments

          public void setAttachments​(java.util.List<Attachment> attachments)

    - #### isPreconditionEnabled

          public boolean isPreconditionEnabled()

    - #### isFailureHandlerEnabled

          public boolean isFailureHandlerEnabled()

    - #### getExecutionId

          public java.lang.String getExecutionId()

    - #### setExecutionId

          public void setExecutionId​(java.lang.String executionId)

    - #### generateExecutionId

          public void generateExecutionId()

    - #### deleteAttachment

          public void deleteAttachment​(java.lang.String attachmentId)

    - #### resetToPlanned

          public Changes resetToPlanned()

    - #### setFlagStatus

          public void setFlagStatus​(FlagStatus flagStatus)

      Overrides:
        `setFlagStatus` in class `PlanItem`

    - #### getRelease

          public Release getRelease()

      Specified by:
        `getRelease` in class `PlanItem`

    - #### getReleaseUid

          public java.lang.Integer getReleaseUid()

      Specified by:
        `getReleaseUid` in class `PlanItem`

    - #### setReleaseUid

          public void setReleaseUid​(java.lang.Integer releaseUid)

      Specified by:
        `setReleaseUid` in class `PlanItem`

    - #### getDisplayPath

          public java.lang.String getDisplayPath()

      Specified by:
        `getDisplayPath` in class `PlanItem`

    - #### getReleaseOwner

          public java.lang.String getReleaseOwner()

    - #### getAllTasks

          public java.util.List<Task> getAllTasks()

    - #### getChildren

          public java.util.List<PlanItem> getChildren()

      Specified by:
        `getChildren` in class `PlanItem`

    - #### accept

          public void accept​(ReleaseVisitor visitor)

      Specified by:
        `accept` in interface `VisitableItem`

    - #### getVariableUsages

          public java.util.List<UsagePoint> getVariableUsages()

      Specified by:
        `getVariableUsages` in class `PlanItem`

    - #### freezeVariables

          public java.util.Set<java.lang.String> freezeVariables​(Changes changes,
                                                                 boolean freezeEvenIfUnresolved)

    - #### shouldFreezeVariableMapping

          protected boolean shouldFreezeVariableMapping​(CiProperty property)

    - #### getInputVariables

          public java.util.List<Variable> getInputVariables()

    - #### getReferencedVariables

          public java.util.List<Variable> getReferencedVariables()

    - #### getUnboundRequiredVariables

          protected java.util.List<java.lang.String> getUnboundRequiredVariables()

    - #### 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)

      To be overridden in child classes with custom fields that can contain variables.

      Apply `VariableHelper.replaceAll(Object, Map, Set, boolean)` to each field; if child entities are modified, add them to `changes`.

    - #### isWaitForScheduledStartDate

          public boolean isWaitForScheduledStartDate()

    - #### setWaitForScheduledStartDate

          public void setWaitForScheduledStartDate​(boolean waitForScheduledStartDate)

    - #### isDelayDuringBlackout

          public boolean isDelayDuringBlackout()

    - #### setDelayDuringBlackout

          public void setDelayDuringBlackout​(boolean delayDuringBlackout)

    - #### checkDatesValidity

          public void checkDatesValidity()

    - #### isAutomated

          public boolean isAutomated()

    - #### ownerHasBeenReassigned

          public boolean ownerHasBeenReassigned​(Task task)

    - #### teamHasBeenReassigned

          public boolean teamHasBeenReassigned​(Task task)

    - #### delayDuringBlackoutHasChanged

          public boolean delayDuringBlackoutHasChanged​(Task task)

    - #### failureHandlerHasChanged

          public boolean failureHandlerHasChanged​(Task task)

    - #### preconditionHasChanged

          public boolean preconditionHasChanged​(Task task)

    - #### getTaskType

          public Type getTaskType()

    - #### isStillExecutingScript

          public boolean isStillExecutingScript​(java.lang.String executionId)

    - #### isPostponedDueToBlackout

          public boolean isPostponedDueToBlackout()

    - #### setPostponedDueToBlackout

          public void setPostponedDueToBlackout​(boolean delay)

    - #### getOriginalScheduledStartDate

          public java.util.Date getOriginalScheduledStartDate()

    - #### setOriginalScheduledStartDate

          public void setOriginalScheduledStartDate​(java.util.Date originalDate)

    - #### isDueSoon

          public boolean isDueSoon()

    - #### getElapsedDurationFraction

          public double getElapsedDurationFraction()

    - #### shouldNotifyDueSoon

          public boolean shouldNotifyDueSoon()

    - #### isDueSoonNotified

          public boolean isDueSoonNotified()

    - #### setDueSoonNotified

          public void setDueSoonNotified​(boolean dueSoonNotified)

    - #### deleteTask

          public void deleteTask​(Task task)

    - #### replaceTask

          public void replaceTask​(Task task)

    - #### findComment

          public Comment findComment​(java.lang.String commentId)

    - #### updateComment

          public void updateComment​(Comment originalComment,
                                    Comment updatedComment)

    - #### clearComments

          public void clearComments()

    - #### isLocked

          public boolean isLocked()

      Specified by:
        `isLocked` in interface `Lockable`

    - #### setLocked

          public void setLocked​(boolean locked)

      Specified by:
        `setLocked` in interface `Lockable`

    - #### lock

          public void lock()

      Specified by:
        `lock` in interface `Lockable`

    - #### unlock

          public void unlock()

      Specified by:
        `unlock` in interface `Lockable`

    - #### isSupportedInWorkflow

          public boolean isSupportedInWorkflow()

    - #### setSupportedInWorkflow

          public void setSupportedInWorkflow​(boolean supportedInWorkflow)

    - #### getFacets

          public java.util.List<Facet> getFacets()

    - #### setFacets

          public void setFacets​(java.util.List<Facet> facets)

    - #### getUrl

          public java.lang.String getUrl()

    - #### isPostponedUntilEnvironmentsAreReserved

          public boolean isPostponedUntilEnvironmentsAreReserved()

    - #### setPostponedUntilEnvironmentsAreReserved

          public Task setPostponedUntilEnvironmentsAreReserved​(boolean postponedUntilEnvironmentsAreReserved)