use of jetbrains.buildServer.Build in project teamcity-rest by JetBrains.
the class DownloadedArtifacts method getFilteredInfo.
@NotNull
private Map<SBuild, List<ArtifactInfo>> getFilteredInfo() {
Map<SBuild, List<ArtifactInfo>> result = new HashMap<>();
String buildLocatorText = myFields.getLocator();
FilterConditionChecker<BuildPromotion> buildFilter;
if (StringUtil.isNotEmpty(buildLocatorText)) {
Locator buildLocator = Locator.locator(buildLocatorText);
buildFilter = myBeanContext.getSingletonService(BuildPromotionFinder.class).getFilter(buildLocator);
buildLocator.checkLocatorFullyProcessed();
} else {
buildFilter = b -> true;
}
for (Map.Entry<Build, List<ArtifactInfo>> buildArtifacts : myArtifacts.getArtifacts().entrySet()) {
SBuild build = (SBuild) buildArtifacts.getKey();
if (!buildFilter.isIncluded(build.getBuildPromotion())) {
continue;
}
result.put(build, buildArtifacts.getValue());
}
return result;
}
use of jetbrains.buildServer.Build in project spring-bot by finos.
the class SymphonyNotificator method sendNotification.
private void sendNotification(String project, String build, String statusText, String statusColor, Set<SUser> users, Build bt) {
MessagesApi messages;
String jsonString;
String template;
Config config = c.getConfig();
try {
String details = bt.getLogMessages(0, Integer.MAX_VALUE).stream().filter(m -> !m.contains("errorreport")).filter(m -> m.contains("error")).map(a -> HtmlUtils.htmlEscape(a)).reduce("", (a, b) -> a + "<br/>" + b);
String url = sBuildServer.getRootUrl() + "/project.html?projectId=" + URIUtil.encodeQuery(bt.getProjectId());
BuildData bd = new BuildData(project, build, statusText, statusColor, url, details);
EntityJson json = new EntityJson();
json.put("teamcity", bd);
jsonString = c.getObjectMapper().writeValueAsString(json);
log.warn("JSON: \n" + jsonString);
} catch (Exception e1) {
log.error("Couldn't format string ", e1);
return;
}
try {
messages = c.getAPI(MessagesApi.class);
} catch (Exception e) {
log.error("Couldn't aquire symphony API ", e);
return;
}
if (StringUtils.hasText(config.getTemplate())) {
template = config.getTemplate();
log.warn("Using custom symphony template");
} else {
template = asString(rl.getResource("classpath:/template.ftl"));
log.warn("Using built-in symphony template");
}
for (SUser sUser : users) {
String streamId = sUser.getPropertyValue(symphonyStreamId);
log.warn("Sending notification to Symphony on " + streamId);
if (StringUtils.hasText(streamId)) {
try {
messages.v4StreamSidMessageCreatePost(null, streamId, template, jsonString, null, null, null, null);
} catch (Exception e) {
log.error("Couldn't send message to symphony ", e);
}
}
}
}
Aggregations