Class PluginTaskConfiguration
- All Implemented Interfaces:
com.xebialabs.deployit.plugin.api.udm.ConfigurationItem,Serializable,Comparable<com.xebialabs.deployit.plugin.api.udm.base.BaseConfigurationItem>
A plugin author subclasses this in their bundle's type-definitions.xml to declare the
input and output properties of their task type, and provides one
TaskExecutorExtension bean whose getTaskType() returns that declared type name.
This is deliberately not a Task subclass. The host owns the task
(PluginTask, which holds a configuration by containment); the author owns only the
configuration. That keeps author-declared properties out of the namespace Task occupies,
so declaring a property called owner or status is harmless rather than a
collision with host state.
It is the same arrangement xlrelease.PythonScript has with CustomScriptTask -
including the naming lesson: PythonScript's own Javadoc notes it "should be called
PythonScriptDefinition". This one says what it is.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringId suffix of the contained configuration, mirroringPythonScript.PYTHON_SCRIPT_ID.static final StringFields inherited from interface com.xebialabs.deployit.plugin.api.udm.ConfigurationItem
SYNTHETIC_PROPERTIES_FIELD, TYPE_FIELD -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCollection<com.xebialabs.deployit.plugin.api.reflect.PropertyDescriptor> The input properties declared on this configuration's type.Collection<com.xebialabs.deployit.plugin.api.reflect.PropertyDescriptor> The output properties declared on this configuration's type.Collection<com.xebialabs.deployit.plugin.api.reflect.PropertyDescriptor> The properties into which release variables must be interpolated before execution - the declared input properties whose kind can carry a${variable}reference.booleanvoidsetContinuationState(String continuationState) voidsetPluginTask(PluginTask pluginTask) voidsetSupportedInWorkflow(boolean supportedInWorkflow) 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, 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 Details
-
PLUGIN_TASK_PROPERTY
- See Also:
-
PLUGIN_TASK_CONFIGURATION_ID
Id suffix of the contained configuration, mirroringPythonScript.PYTHON_SCRIPT_ID. Deliberately"TaskConfiguration"rather than the barer"Configuration": CI ids are user-visible and long-lived, andConfigurationis already a loaded word in this product (thexlrelease.Configurationtype tree, the Configuration screens), so the barer name would read as one of those in a persisted id.- See Also:
-
-
Constructor Details
-
PluginTaskConfiguration
public PluginTaskConfiguration()
-
-
Method Details
-
getPropertiesWithVariables
public Collection<com.xebialabs.deployit.plugin.api.reflect.PropertyDescriptor> getPropertiesWithVariables()The properties into which release variables must be interpolated before execution - the declared input properties whose kind can carry a${variable}reference.Not inherited from any base:
PythonScriptdeclares its own equivalent, andPluginTask.freezeVariablesInCustomFields(java.util.Map<java.lang.String, com.xebialabs.xlrelease.variable.ValueWithInterpolation>, java.util.Map<java.lang.String, java.lang.String>, com.xebialabs.xlrelease.domain.Changes, boolean)walks this collection. Without it a${variable}in a plugin task's input field would silently never resolve. -
getInputProperties
public Collection<com.xebialabs.deployit.plugin.api.reflect.PropertyDescriptor> getInputProperties()The input properties declared on this configuration's type. -
getOutputProperties
public Collection<com.xebialabs.deployit.plugin.api.reflect.PropertyDescriptor> getOutputProperties()The output properties declared on this configuration's type. -
getPluginTask
-
setPluginTask
-
isSupportedInWorkflow
public boolean isSupportedInWorkflow() -
setSupportedInWorkflow
public void setSupportedInWorkflow(boolean supportedInWorkflow) -
getContinuationState
-
setContinuationState
-