VcsTrigger

open class VcsTrigger : Trigger

Base class for VCS triggers. VCS trigger automatically starts a new build each time TeamCity detects new changes.

Example. Trigger a build on a commit but only if there were no other commits for 120 seconds (quiet period), otherwise wait another 120 seconds.

buildType {
// Other Build Type settings ...
triggers {
// Other Triggers ...
        vcs {
quietPeriodMode = VcsTrigger.QuietPeriodMode.USE_CUSTOM
quietPeriod = 120
}
}
}

Example. Trigger a build on every commit in the default branch or a branch which name starts with 'release/'.

buildType {
// Other Build Type settings ...
triggers {
// Other Triggers ...
        vcs {
branchFilter = """
+:<default>
+:release/ *
""".trimIndent()
}
}
}

Example. Do not trigger a build on a commit made by a user with name 'tag_user'. See trigger rules syntax.

buildType {
// Other Build Type settings ...
triggers {
// Other Triggers ...
        vcs {
triggerRules = "-:user=tag_user:**"
}
}
}

Example. Trigger a single build on every commit. Build queue optimization should also be disabled to avoid including several commits into the one build.

buildType {
// Other Build Type settings ...
triggers {
// Other Triggers ...
        vcs {
perCheckinTriggering = true
enableQueueOptimization = false
}
}
}

See also

Constructors

Link copied to clipboard
constructor(init: VcsTrigger.() -> Unit)
constructor()

Properties

Link copied to clipboard

Branch filter specifies changes in which branches the trigger should watch

Link copied to clipboard

Parameters that are added to triggered builds

Link copied to clipboard

Specifies whether the trigger is enabled

Link copied to clipboard

Whether the trigger should allow builds optimization in the build queue. By default optimization is enabled. It is ignored when per-check-in triggering is enabled.

Link copied to clipboard

Whether the build should be triggered with clean checkout

Link copied to clipboard

When the enforceCleanCheckout is set to true specifies whether the clean checkout should also be applied to all dependencies.

Link copied to clipboard

Whether the trigger should include check-ins from the same user into a build. Works only when per-check-in triggering is enabled.

Link copied to clipboard
var id: String?

Trigger id, if not set will be generated

Link copied to clipboard
Link copied to clipboard

Whether the trigger should run build on each check-in in VCS.

Link copied to clipboard

Custom quiet period for the trigger, to enable it set the quietPeriodMode to QuietPeriodMode.USE_CUSTOM

Link copied to clipboard

Trigger rules allow to limit the changes that trigger builds

Link copied to clipboard

Trigger type

Link copied to clipboard

Functions

Link copied to clipboard
fun booleanParameter(customName: String? = null, trueValue: String? = "true", falseValue: String? = "false"): DelegateProvider<Boolean?>
Link copied to clipboard

Configures build parameters that are applied to triggered builds

Link copied to clipboard
fun clear()
Link copied to clipboard

Deletes all configured build parameters

Link copied to clipboard
fun <T : CompoundParam<T>> compoundParameter(customName: String? = null): DelegateProvider<T>
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(): Trigger

Creates an instance of this trigger 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): DelegateProvider<Double>
Link copied to clipboard
fun <E : Enum<E>> enumParameter(customName: String? = null, mapping: Map<E, String?>? = null): DelegateProvider<E>
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): DelegateProvider<Int>
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): DelegateProvider<String>
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