in commit-status-publisher-server/src/main/java/jetbrains/buildServer/commitPublisher/reports/MissingSettingsReport.java [74:98]
public void report(@NotNull HealthStatusScope scope, @NotNull HealthStatusItemConsumer consumer) {
for (SBuildType bt : scope.getBuildTypes()) {
Collection<SBuildFeatureDescriptor> features = bt.getBuildFeaturesOfType(CommitStatusPublisherFeature.TYPE);
for (SBuildFeatureDescriptor feature: features) {
if (bt.isEnabled(feature.getId())) {
Map<String, String> params = feature.getParameters();
String publisherId = params.get(Constants.PUBLISHER_ID_PARAM);
if (publisherId == null || !SUPPORTED_PUBLISHER_IDS.contains(publisherId)) {
continue;
}
CommitStatusPublisherSettings settings = myPublisherManager.findSettings(publisherId);
if (settings != null) {
Map<String, Object> healthItemData = settings.checkHealth(bt, params);
if (healthItemData != null) {
String identity = REPORT_TYPE + "_BT_" + bt.getInternalId() + "_FEATURE_" + feature.getId();
healthItemData.put("buildType", bt);
healthItemData.put("featureId", feature.getId());
consumer.consumeForBuildType(bt, new HealthStatusItem(identity, CATEGORY, healthItemData));
}
}
}
}
}
}