VcsTrigger

open class VcsTrigger : Trigger
fun Triggers.vcs(init: VcsTrigger.() -> Unit): VcsTrigger

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
fun VcsTrigger(init: VcsTrigger.() -> Unit)
Link copied to clipboard
fun VcsTrigger()

Types

Link copied to clipboard

Functions

Link copied to clipboard
fun booleanParameter(    customName: String? = null,     trueValue: String? = "true",     falseValue: String? = "false"): SingleDelegateProvider<Boolean>
Link copied to clipboard
fun buildParams(init: TriggerBuildParameters.() -> Unit)

Configures build parameters that are applied to triggered builds

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

Deletes all configured build parameters

Link copied to clipboard
fun <T : CompoundParam<T>> compoundParameter(customName: String? = null): CompoundDelegateProvider<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): SingleDelegateProvider<Double>
Link copied to clipboard
fun <E : Enum<E>> enumParameter(customName: String? = null, mapping: Map<E, String?>? = null): SingleDelegateProvider<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): SingleDelegateProvider<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
fun stringParameter(customName: String? = null): SingleDelegateProvider<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

Properties

Link copied to clipboard
var branchFilter: String?

Branch filter specifies changes in which branches the trigger should watch

Link copied to clipboard
val buildParams: TriggerBuildParameters

Parameters that are added to triggered builds

Link copied to clipboard
var enabled: Boolean = true

Specifies whether the trigger is enabled

Link copied to clipboard
var enableQueueOptimization: Boolean?

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
var enforceCleanCheckout: Boolean = false

Whether the build should be triggered with clean checkout

Link copied to clipboard
var enforceCleanCheckoutForDependencies: Boolean = false

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: Boolean?

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? = null

Trigger id, if not set will be generated

Link copied to clipboard
val params: List<Parameter>
Link copied to clipboard
var perCheckinTriggering: Boolean?

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

Link copied to clipboard
var quietPeriod: Int?

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

Link copied to clipboard
Link copied to clipboard
var triggerRules: String?

Trigger rules allow to limit the changes that trigger builds

Link copied to clipboard
var type: String

Trigger type

Link copied to clipboard
var watchChangesInDependencies: Boolean?

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