private String projectUrlOf(Project project) { return format("%s/dashboard?id=%s", server.getPublicRootUrl(), encode(project.getKey())); }
private String branchUrlOf(Project project, Branch branch) { if (branch.getType() == Branch.Type.LONG) { if (branch.isMain()) { return projectUrlOf(project); } return format("%s/dashboard?branch=%s&id=%s", server.getPublicRootUrl(), encode(branch.getName().orElse("")), encode(project.getKey())); } if (branch.getType() == Branch.Type.SHORT) { return format("%s/project/issues?branch=%s&id=%s&resolved=false", server.getPublicRootUrl(), encode(branch.getName().orElse("")), encode(project.getKey())); } if (branch.getType() == Branch.Type.PULL_REQUEST) { return format("%s/project/issues?pullRequest=%s&id=%s&resolved=false", server.getPublicRootUrl(), encode(branch.getName().orElse("")), encode(project.getKey())); } return projectUrlOf(project); }
@Override public WebhookPayload create(ProjectAnalysis analysis) { Writer string = new StringWriter(); try (JsonWriter writer = JsonWriter.of(string)) { writer.beginObject(); writeServer(writer); writeTask(writer, analysis.getCeTask()); writeDates(writer, analysis, system2); writeProject(analysis, writer, analysis.getProject()); analysis.getBranch().ifPresent(b -> writeBranch(writer, analysis.getProject(), b)); analysis.getQualityGate().ifPresent(qualityGate -> writeQualityGate(writer, qualityGate)); writeAnalysisProperties(writer, analysis.getProperties()); writer.endObject().close(); return new WebhookPayload(analysis.getProject().getKey(), string.toString()); } }
private void writeProject(ProjectAnalysis analysis, JsonWriter writer, Project project) { writer .name("project") .beginObject() .prop("key", project.getKey()) .prop("name", analysis.getProject().getName()) .prop("url", projectUrlOf(project)) .endObject(); }