BuildFailureOnMetric

A build failure condition failing build on metric change.

Example. Fail build if the size of its artifacts decreases by 10% comparing to the last successful build.

buildType {
// Other Build Type settings ...
failureConditions {
// Other Failure Conditions ...
        failOnMetricChange {
metric = BuildFailureOnMetric.MetricType.ARTIFACT_SIZE
threshold = 10
units = BuildFailureOnMetric.MetricUnit.PERCENTS
comparison = BuildFailureOnMetric.MetricComparison.LESS
compareTo = build {
buildRule = lastSuccessful()
}
}
}
}

Example. Fail build if number of ignored tests exceeds 100.

buildType {
// Other Build Type settings ...
failureConditions {
// Other Failure Conditions ...
        failOnMetricChange {
metric = BuildFailureOnMetric.MetricType.TEST_IGNORED_COUNT
threshold = 100
units = BuildFailureOnMetric.MetricUnit.DEFAULT_UNIT
comparison = BuildFailureOnMetric.MetricComparison.MORE
compareTo = value()
}
}
}

See also

Constructors

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

Types

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

A type of the metric

Link copied to clipboard

Specifies how to treat the threshold specified in the failure condition

Properties

Link copied to clipboard

Specifies which value should be compared to the metric value in the build

Link copied to clipboard

On which type of metric change a build should fail

Link copied to clipboard

Specifies whether the feature is enabled, true by default

Link copied to clipboard
var id: String?

Build feature id, if not specified will be generated

Link copied to clipboard

Type of the metric

Link copied to clipboard
Link copied to clipboard

Immediately stop the build if it fails due to this failure condition

Link copied to clipboard

Threshold for build failure. A build will fail when a metric is changed more significantly than the specified threshold. Threshold change is treated according to the selected units. If not specified, the default value 1 is used.

Link copied to clipboard

Build feature type

Link copied to clipboard

Specifies the unit of the given threshold (default metric units or percents)

Functions

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

The metric value in the build should be compared to the metric value from a build matched by the rule

Link copied to clipboard
fun clear()
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(): BuildFeature

Creates an instance of this build feature 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

Link copied to clipboard

The metric value in the build should be compared to the threshold