Class DefaultScriptService

  • All Implemented Interfaces:
    com.xebialabs.xlrelease.script.GenericTaskScriptLogic, ScriptService
    Direct Known Subclasses:
    JythonScriptService

    public abstract class DefaultScriptService
    extends java.lang.Object
    implements ScriptService, com.xebialabs.xlrelease.script.GenericTaskScriptLogic
    • Field Detail

      • RESULT_ATTRIBUTE

        public static final java.lang.String RESULT_ATTRIBUTE
        See Also:
        Constant Field Values
      • MATCHED_EVENT_MSG

        public static final java.lang.String MATCHED_EVENT_MSG
        See Also:
        Constant Field Values
      • TYPE_CUSTOM_SCRIPT_TASK

        public static final java.lang.String TYPE_CUSTOM_SCRIPT_TASK
        See Also:
        Constant Field Values
      • PRESERVE_OUTPUT_ON_ERROR

        public static final java.lang.String PRESERVE_OUTPUT_ON_ERROR
        See Also:
        Constant Field Values
      • scriptExecutor

        protected com.xebialabs.xlrelease.script.ScriptExecutor scriptExecutor
      • executionLog

        protected final com.xebialabs.platform.script.jython.ThreadLocalWriterDecorator executionLog
      • permissions

        protected com.xebialabs.xlrelease.security.PermissionChecker permissions
      • xlrConfig

        protected com.xebialabs.xlrelease.config.XlrConfig xlrConfig
    • Constructor Detail

      • DefaultScriptService

        protected DefaultScriptService​(ScriptLifeCycle scriptLifeCycle,
                                       com.xebialabs.xlrelease.script.ScriptExecutor scriptExecutor,
                                       AuthenticationService authenticationService,
                                       ReleaseService releaseService,
                                       ScriptVariables scriptVariables,
                                       com.xebialabs.xlrelease.security.PermissionChecker permissions,
                                       CommentService commentService,
                                       com.xebialabs.xlrelease.config.XlrConfig xlrConfig,
                                       AttachmentService attachmentService,
                                       com.xebialabs.xlrelease.service.ConfigurationVariableService configurationVariableService,
                                       com.xebialabs.xlrelease.service.ConfigurationService configurationService)
    • Method Detail

      • executeScript

        public java.lang.Object executeScript​(com.xebialabs.xlrelease.script.XlrScriptContext scriptContext)
                                       throws java.lang.Exception
        Specified by:
        executeScript in interface ScriptService
        Throws:
        java.lang.Exception
      • executeScriptWithLifecycle

        protected java.lang.Object executeScriptWithLifecycle​(com.xebialabs.xlrelease.script.XlrScriptContext scriptContext)
                                                       throws java.lang.Exception
        Throws:
        java.lang.Exception
      • registerScriptExecution

        protected void registerScriptExecution​(java.lang.String ciId,
                                               java.lang.String executionId)
      • executeScriptTask

        public <T extends com.xebialabs.xlrelease.domain.ResolvableScriptTask> com.xebialabs.xlrelease.script.ScriptTaskResult executeScriptTask​(T task)
        Specified by:
        executeScriptTask in interface ScriptService
      • executeCustomScriptTask

        public <T extends com.xebialabs.xlrelease.domain.CustomScriptTask> com.xebialabs.xlrelease.script.CustomScriptTaskResult executeCustomScriptTask​(T task)
        Specified by:
        executeCustomScriptTask in interface ScriptService
      • finishScript

        protected void finishScript​(java.lang.String executionId)
      • executePrecondition

        public com.xebialabs.xlrelease.script.PreconditionResult executePrecondition​(com.xebialabs.xlrelease.domain.Task task)
        Specified by:
        executePrecondition in interface ScriptService
      • executeFacetCheck

        public com.xebialabs.xlrelease.script.FacetCheckResult executeFacetCheck​(com.xebialabs.xlrelease.domain.Task task)
        Specified by:
        executeFacetCheck in interface ScriptService
      • executeScriptValueProvider

        public java.util.Collection<java.lang.Object> executeScriptValueProvider​(com.xebialabs.xlrelease.domain.variables.ScriptValueProviderConfiguration valueProviderConfiguration)
        Specified by:
        executeScriptValueProvider in interface ScriptService
      • executeFailureHandler

        public com.xebialabs.xlrelease.script.FailureHandlerResult executeFailureHandler​(com.xebialabs.xlrelease.domain.Task task)
        Specified by:
        executeFailureHandler in interface ScriptService
      • registerWriterForTask

        protected void registerWriterForTask​(com.xebialabs.xlrelease.domain.Task task,
                                             com.xebialabs.xlrelease.utils.SensitiveValueScrubber scrubber)
      • closeWriter

        protected void closeWriter()
        Closing a writer will also flush execution log so that comment with writers contents is added to the task.