What mechanism/statistics does Jenkins follow to update the Weather information regarding the Build Jobs?
Check out https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/model/HealthReport.java
You can then find the following code there:
// These are now 0-20, 21-40, 41-60, 61-80, 81+ but filenames unchanged for compatibility
private static final String HEALTH_OVER_80 = "icon-health-80plus";
private static final String HEALTH_61_TO_80 = "icon-health-60to79";
private static final String HEALTH_41_TO_60 = "icon-health-40to59";
private static final String HEALTH_21_TO_40 = "icon-health-20to39";
private static final String HEALTH_0_TO_20 = "icon-health-00to19";
private static final String HEALTH_OVER_80_IMG = "health-80plus.png";
private static final String HEALTH_61_TO_80_IMG = "health-60to79.png";
private static final String HEALTH_41_TO_60_IMG = "health-40to59.png";
private static final String HEALTH_21_TO_40_IMG = "health-20to39.png";
private static final String HEALTH_0_TO_20_IMG = "health-00to19.png";
private static final String HEALTH_UNKNOWN_IMG = "empty.png";
The code indicates that if your successful builds are over 80%, you will see the sunny weather icon.
If your successful builds is between 60%-79%, you will see see an image named health-60to79
.
...
You can find the images at https://github.com/jenkinsci/jenkins/blob/master/war/images. They are named health-00to19.svg
, health-20to39.svg
, health-40to59.svg
, health-60to79.svg
, and health-80plus.svg
.
HealthReport
is the mechanism used to update the weather icon
public HealthReport(int score, String iconUrl, Localizable description) {
this.score = score;
if (score <= 20) {
this.iconClassName = HEALTH_0_TO_20;
} else if (score <= 40) {
this.iconClassName = HEALTH_21_TO_40;
} else if (score <= 60) {
this.iconClassName = HEALTH_41_TO_60;
} else if (score <= 80) {
this.iconClassName = HEALTH_61_TO_80;
} else {
this.iconClassName = HEALTH_OVER_80;
}
if (iconUrl == null) {
if (score <= 20) {
this.iconUrl = HEALTH_0_TO_20_IMG;
} else if (score <= 40) {
this.iconUrl = HEALTH_21_TO_40_IMG;
} else if (score <= 60) {
this.iconUrl = HEALTH_41_TO_60_IMG;
} else if (score <= 80) {
this.iconUrl = HEALTH_61_TO_80_IMG;
} else {
this.iconUrl = HEALTH_OVER_80_IMG;
}
} else {
this.iconUrl = iconUrl;
}
this.description = null;
setLocalizibleDescription(description);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With