private boolean sendPromotionRequest(@NotNull Element xmlResponse, ActionErrors errors, SBuild build, Map<String, String> parameters, ArtifactoryBuildInfoClient client, PromotionBuilder promotionBuilder, boolean isDryRun) throws IOException { if (isDryRun) { Loggers.SERVER.info("Performing dry run promotion (no changes are made during dry run)..."); } HttpResponse wetResponse = client.stageBuild( ServerUtils.getArtifactoryBuildName(build, parameters), build.getBuildNumber(), promotionBuilder.dryRun(isDryRun).build()); Set<String> promotionErrors = checkSuccess(wetResponse, isDryRun); if (promotionErrors.size() > 0) { StringBuilder sb = new StringBuilder("Failed to execute the "); if (isDryRun) { sb.append("dry run "); } sb.append("promotion operation: </br>"); for (String promotionError : promotionErrors) { sb.append(promotionError.replace("\n", "</br>")).append("</br>"); } addError(errors, "errorPromotion", sb.toString(), xmlResponse); return false; } if (isDryRun) { Loggers.SERVER.info("Dry run promotion completed successfully.\nPerforming promotion..."); return true; } Loggers.SERVER.info("Promotion completed successfully!"); return true; }
if (StringUtils.isNotBlank(legacyBuildUrl)) { buildInfoUrls.put(legacyBuildUrl + build.getBuildTypeExternalId() + "/" + build.getBuildNumber(), buildRunnerDescriptor.getName()); return buildInfoUrls;
private void populateMessageAndText(SBuild sRunningBuild, BuildStateEnum state, Map<String,String> templates) { // Message is a long form message, for on webpages or in email. setMessage("Build " + sRunningBuild.getBuildType().getFullName() + " has " + state.getDescriptionSuffix() + ". This is build number " + sRunningBuild.getBuildNumber() + ", has a status of \"" + this.buildResult + "\" and was triggered by " + sRunningBuild.getTriggeredBy().getAsString()); // Text is designed to be shorter, for use in Text messages and the like. setText(sRunningBuild.getBuildType().getFullName().toString() + " has " + state.getDescriptionSuffix() + ". Status: " + this.buildResult); }
setProjectInternalId(TeamCityIdResolver.getInternalProjectId(sRunningBuild.getBuildType().getProject())); setProjectExternalId(TeamCityIdResolver.getExternalProjectId(sRunningBuild.getBuildType().getProject())); setBuildNumber(sRunningBuild.getBuildNumber()); setAgentName(sRunningBuild.getAgentName()); setAgentOs(sRunningBuild.getAgent().getOperatingSystemName());