Package com.xebialabs.xlrelease.domain

## Class CreateReleaseTask

- 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.CreateReleaseTask

- All Implemented Interfaces:
    `ConfigurationItem`, `Lockable`, `VisitableItem`, `java.io.Serializable`, `java.lang.Comparable<BaseConfigurationItem>`

      @Metadata(label="Create Release",
                versioned=false)
      public class CreateReleaseTask
      extends Task

  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static java.lang.String` | `CREATED_RELEASE_ID` |
    `static java.lang.String` | `FOLDER_ID` |
    `static java.lang.String` | `TEMPLATE_ID` |
    `protected java.util.List<Variable>` | `templateVariables` |

    - ### 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, 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
    --- | ---
    `CreateReleaseTask()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected Changes` | `execute​(java.lang.String targetId, TaskStartOrRetryOperation operation)` |
    `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.String` | `getCreatedReleaseId()` |
    `java.lang.String` | `getFolderId()` |
    `java.lang.String` | `getNewReleaseTitle()` |
    `java.util.Set<java.lang.String>` | `getReleaseTags()` |
    `RiskProfile` | `getRiskProfile()` |
    `boolean` | `getStartRelease()` |
    `java.lang.String` | `getTemplateId()` |
    `java.lang.String` | `getTemplateIdVariable()` |
    `java.util.List<Variable>` | `getTemplateVariables()` |
    `java.util.Map<java.lang.String,​Variable>` | `getTemplateVariablesByKeys()` |
    `java.util.List<UsagePoint>` | `getVariableUsages()` |
    `void` | `setCreatedReleaseId​(java.lang.String createdReleaseId)` |
    `void` | `setFolderId​(java.lang.String folderId)` |
    `void` | `setNewReleaseTitle​(java.lang.String newReleaseTitle)` |
    `void` | `setReleaseTags​(java.util.Set<java.lang.String> releaseTags)` |
    `void` | `setRiskProfile​(RiskProfile riskProfile)` |
    `void` | `setStartRelease​(boolean startRelease)` |
    `void` | `setTemplateId​(java.lang.String templateId)` |
    `void` | `setTemplateIdVariable​(java.lang.String templateIdVariable)` |
    `void` | `setTemplateVariables​(java.util.List<Variable> variables)` |
    `protected boolean` | `shouldFreezeVariableMapping​(CiProperty property)` |

    - ### Methods inherited from class com.xebialabs.xlrelease.domain.Task

      `abort, accept, addWatcher, applyDefaults, canBeBackup, canScheduleTaskStart, canStartNow, checkDatesValidity, clearComments, delayDuringBlackoutHasChanged, deleteAttachment, deleteTask, fail, fail, fail, fail, failureHandlerHasChanged, findComment, freezeVariables, fromType, fromType, generateExecutionId, getAbortScript, 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, hasAbortScript, hasBeenDelayed, hasBeenFlagged, hasBeenStarted, hasFailureHandlerScript, hasTaskRecoverOp, hasTeam, hasVariableMapping, isAborted, isAbortScriptInProgress, isActive, isAssignedTo, isAutomated, isCheckAttributes, isCompletedInAdvance, isDefaultTaskType, isDefunct, isDelayDuringBlackout, isDone, isDoneInAdvance, isDueSoon, isDueSoonNotified, isFacetInProgress, isFailed, isFailing, isFailureHandlerEnabled, isFailureHandlerInProgress, isGate, isInProgress, isLocked, isMovable, isNotYetReached, isParallelGroup, isPending, isPlanned, isPostponedDueToBlackout, isPostponedUntilEnvironmentsAreReserved, isPreconditionEnabled, isPreconditionInProgress, isSkipped, isSkippedInAdvance, isStillExecutingScript, isTaskFailureHandlerEnabled, isTaskGroup, isUpdatable, isWaitForScheduledStartDate, isWaitingForInput, lock, markAsDone, ownerHasBeenReassigned, postponeUntilEnvironmentsAreReserved, preconditionHasChanged, removeWatcher, reopen, replaceTask, resetToPlanned, retry, setAttachments, setCheckAttributes, setCiUid, setConfigurationUri, setContainer, setDelayDuringBlackout, setDueSoonNotified, setExecutionId, setFacets, setFailureHandler, setFailuresCount, setFlagStatus, setHasBeenDelayed, setHasBeenFlagged, setLocked, setMaxCommentSize, setOriginalScheduledStartDate, setPostponedDueToBlackout, setPostponedUntilEnvironmentsAreReserved, setPrecondition, setReleaseUid, setScheduledStartDate, setStatus, 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`

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

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

- - ### Field Detail

    - #### CREATED_RELEASE_ID

          public static final java.lang.String CREATED_RELEASE_ID

      See Also:
        Constant Field Values

    - #### TEMPLATE_ID

          public static final java.lang.String TEMPLATE_ID

      See Also:
        Constant Field Values

    - #### FOLDER_ID

          public static final java.lang.String FOLDER_ID

      See Also:
        Constant Field Values

    - #### templateVariables

          @Property(asContainment=true,
                    required=false,
                    label="Variables",
                    description="Variable values to pass to the created release.")
          protected java.util.List<Variable> templateVariables

  - ### Constructor Detail

    - #### CreateReleaseTask

          public CreateReleaseTask()

  - ### Method Detail

    - #### execute

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

      Overrides:
        `execute` in class `Task`

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

      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`.
      Overrides:
        `freezeVariablesInCustomFields` in class `Task`

    - #### shouldFreezeVariableMapping

          protected boolean shouldFreezeVariableMapping​(CiProperty property)

      Overrides:
        `shouldFreezeVariableMapping` in class `Task`

    - #### getVariableUsages

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

      Overrides:
        `getVariableUsages` in class `Task`

    - #### getNewReleaseTitle

          public java.lang.String getNewReleaseTitle()

    - #### setNewReleaseTitle

          public void setNewReleaseTitle​(java.lang.String newReleaseTitle)

    - #### getTemplateId

          public java.lang.String getTemplateId()

    - #### setTemplateId

          public void setTemplateId​(java.lang.String templateId)

    - #### getFolderId

          public java.lang.String getFolderId()

    - #### setFolderId

          public void setFolderId​(java.lang.String folderId)

    - #### getCreatedReleaseId

          public java.lang.String getCreatedReleaseId()

    - #### setCreatedReleaseId

          public void setCreatedReleaseId​(java.lang.String createdReleaseId)

    - #### getTemplateVariables

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

    - #### setTemplateVariables

          public void setTemplateVariables​(java.util.List<Variable> variables)

    - #### getStartRelease

          public boolean getStartRelease()

    - #### setStartRelease

          public void setStartRelease​(boolean startRelease)

    - #### getReleaseTags

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

    - #### setReleaseTags

          public void setReleaseTags​(java.util.Set<java.lang.String> releaseTags)

    - #### getRiskProfile

          public RiskProfile getRiskProfile()

    - #### setRiskProfile

          public void setRiskProfile​(RiskProfile riskProfile)

    - #### getTemplateIdVariable

          public java.lang.String getTemplateIdVariable()

    - #### setTemplateIdVariable

          public void setTemplateIdVariable​(java.lang.String templateIdVariable)

    - #### getTemplateVariablesByKeys

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