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

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

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

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

Type of the metric

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

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

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

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

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"): <Error class: unknown class><Parametrized, <Error class: unknown class><Parametrized, T?>>
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): <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(): 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): <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

Link copied to clipboard

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