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
var branchFilter: <Error class: unknown class>

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
var enableQueueOptimization: <Error class: unknown class>

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
var groupCheckinsByCommitter: <Error class: unknown class>

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
var perCheckinTriggering: <Error class: unknown class>

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

Link copied to clipboard
var quietPeriod: <Error class: unknown class>

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

Link copied to clipboard
var quietPeriodMode: <Error class: unknown class>
Link copied to clipboard
var triggerRules: <Error class: unknown class>

Trigger rules allow to limit the changes that trigger builds

Link copied to clipboard

Trigger type

Link copied to clipboard
var watchChangesInDependencies: <Error class: unknown class>

When enabled, the trigger runs builds on changes in snapshot dependencies

Functions

Link copied to clipboard
fun booleanParameter(customName: String? = null, trueValue: String? = "true", falseValue: String? = "false"): <Error class: unknown class><Parametrized, <Error class: unknown class><Parametrized, T?>>
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): <Error class: unknown class><Parametrized, <Error class: unknown class><Parametrized, 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): <Error class: unknown class><Parametrized, <Error class: unknown class><Parametrized, T?>>
Link copied to clipboard
fun <E : Enum<E>> enumParameter(customName: String? = null, mapping: Map<E, String?>? = null): <Error class: unknown class><Parametrized, <Error class: unknown 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: unknown class><Parametrized, <Error class: unknown 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: unknown class><Parametrized, <Error class: unknown 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