ScriptBuildStep

open class ScriptBuildStep : BuildStep
fun BuildSteps.script(init: ScriptBuildStep.() -> Unit): ScriptBuildStep

A build step running a script with the specified content

Example. Runs a script in the checkout directory.

buildType {
    // Other Build Type settings ...
    steps {
        // Other Build Steps ...
        script {
            scriptContent = "echo 'hello'"
        }
} }

Example. Runs a multiline script in the specified build working directory with an argument referencing to the configuration parameter. Any of stderr output will be treated as errors.

buildType {
    // Other Build Type settings ...
    steps {
        // Other Build Steps ...
        script {
            name = "Run tests"
            workingDir = "tests"
            scriptContent = """
                echo "Running tests for version %product.version%"
                ./run_tests.sh "%product.version%"
            """.trimIndent()
            formatStderrAsError = true
        }
} }

Example. Runs a multiline script in the specified build working directory in the specified Docker container with an argument referencing to the configuration parameter.

buildType {
    // Other Build Type settings ...
    steps {
        // Other Build Steps ...
        script {
            name = "Run tests in Docker"

            workingDir = "tests"
            scriptContent = """
                echo "Running tests for version %product.version%"
                ./run_tests.sh "%product.version%"
            """.trimIndent()

            dockerImage = "nodejs:lts"
            dockerImagePlatform = ScriptBuildStep.ImagePlatform.Linux
            dockerRunParameters = "--rm --interactive=false"
        }
} }

See also

Constructors

Link copied to clipboard
fun ScriptBuildStep(init: ScriptBuildStep.() -> Unit)
Link copied to clipboard
fun ScriptBuildStep()

Types

Link copied to clipboard
enum ImagePlatform : Enum<ScriptBuildStep.ImagePlatform>

Docker image platforms

Functions

Link copied to clipboard
fun booleanParameter(    customName: String? = null,     trueValue: String? = "true",     falseValue: String? = "false"): <ERROR CLASS><Parametrized, <ERROR CLASS><Parametrized, T?>>
Link copied to clipboard
fun clear()
Link copied to clipboard
fun clearConditions()

Deletes all configured build step conditions

Link copied to clipboard
fun <T : CompoundParam<T>> compoundParameter(customName: String? = null): <ERROR CLASS><Parametrized, <ERROR CLASS><Parametrized, T?>>
Link copied to clipboard
fun conditions(init: BuildStepConditions.() -> Unit = {})
Link copied to clipboard
fun <T : Parametrized> copyParamsTo(target: T): T

Copies parameters of this object to the specified target

Link copied to clipboard
open fun create(): BuildStep

Creates an instance of this build step via reflection using a no argument constructor, used during copying. Throws an error if this class doesn't have a default constructor. Subclasses can override it to create an instance without using a default constructor.

Link copied to clipboard
fun doubleParameter(customName: String? = null): <ERROR CLASS><Parametrized, <ERROR CLASS><Parametrized, T?>>
Link copied to clipboard
fun <E : Enum<E>> enumParameter(customName: String? = null, mapping: Map<E, String?>? = null): <ERROR CLASS><Parametrized, <ERROR CLASS><Parametrized, T?>>
Link copied to clipboard
fun findRawParam(paramName: String): Parameter?
Link copied to clipboard
fun hasParam(paramName: String): Boolean
Link copied to clipboard
fun intParameter(customName: String? = null): <ERROR CLASS><Parametrized, <ERROR CLASS><Parametrized, T?>>
Link copied to clipboard
fun param(name: String, value: String)

Adds parameter with specified name and value

Link copied to clipboard
fun removeRawParam(paramName: String)
Link copied to clipboard
open fun stringParameter(customName: String? = null): <ERROR CLASS><Parametrized, <ERROR CLASS><Parametrized, T?>>
Link copied to clipboard
open override fun toString(): String
Link copied to clipboard
open override fun validate(consumer: ErrorConsumer)

Validates this object and reports found errors to the provided consumer

Properties

Link copied to clipboard
var conditions: BuildStepConditions

Optional collection of build step execution conditions

Link copied to clipboard
var dockerImage: <ERROR CLASS>

Specifies which Docker image to use for running this build step. I.e. the build step will be run inside specified docker image, using 'docker run' wrapper.

Link copied to clipboard
var dockerImagePlatform: <ERROR CLASS>

Specifies which Docker image platform will be used to run this build step.

Link copied to clipboard
var dockerPull: <ERROR CLASS>

If enabled, "pull image" command will be run before docker run.

Link copied to clipboard
var dockerRunParameters: <ERROR CLASS>

Additional docker run command arguments

Link copied to clipboard
var enabled: Boolean = true

Specifies whether the step is enabled, true by default

Link copied to clipboard
var executionMode: BuildStep.ExecutionMode

Build step execution mode

Link copied to clipboard
var formatStderrAsError: <ERROR CLASS>

Log stderr output as errors in the build log

Link copied to clipboard
var id: String? = null

Optional id of the step. Usually the id is not required, however if a build configuration inherits from a template and wants to override a build step defined there, then both steps should have the same id.

Link copied to clipboard
var name: String

Build step name

Link copied to clipboard
val params: List<Parameter>
Link copied to clipboard
var scriptContent: <ERROR CLASS>

Content of the script to run

Link copied to clipboard
var type: String

Build step type

Link copied to clipboard
var workingDir: <ERROR CLASS>

Build working directory for script, specify it if it is different from the checkout directory.