private List historyAsJson(BaseCollection<PipelineInstanceModel> pipelineHistory) { List json = new ArrayList(); for (PipelineInstanceModel item : pipelineHistory) { Map<String, Object> jsonMap = new LinkedHashMap<>(); jsonMap.put("pipelineId", item.getId()); jsonMap.put("label", item.getLabel()); jsonMap.put("counterOrLabel", item.getPipelineIdentifier().instanceIdentifier()); jsonMap.put("scheduled_date", timeConverter.getHumanReadableStringWithTimeZone(item.getScheduledDate())); jsonMap.put("scheduled_timestamp", item.getScheduledDate() != null ? item.getScheduledDate().getTime() : null); jsonMap.put("buildCauseBy", item.getApprovedByForDisplay()); jsonMap.put("modification_date", getModificationDate(item)); jsonMap.put("materialRevisions", materialRevisionsJson(item)); jsonMap.put("stages", stageHistoryAsJson(item, item.getStageHistory())); jsonMap.put("revision", item.getRevisionOfLatestModification()); jsonMap.put("comment", item.getComment()); json.add(jsonMap); } return json; }
public static void toJSON(OutputWriter jsonOutputWriter, PipelineInstanceModel model) { jsonOutputWriter .addLinks(addLinks(model)) .add("label", model.getLabel()) .add("counter", model.getCounter()) .add("triggered_by", model.getApprovedByForDisplay()) .add("scheduled_at", model.getScheduledDate()) .addChild("_embedded", childWriter -> { childWriter.addChildList("stages", getStages(model)); }); }
public static void toJSON(OutputWriter jsonOutputWriter, PipelineInstanceModel model) { jsonOutputWriter .addLinks(addLinks(model)) .add("label", model.getLabel()) .add("counter", model.getCounter()) .add("triggered_by", model.getApprovedByForDisplay()) .add("scheduled_at", model.getScheduledDate()) .addChild("_embedded", childWriter -> { childWriter.addChildList("stages", getStages(model)); }); }
@Test public void shouldKnowApproverAsApproverForTheFirstStage() { MaterialRevisions revisions = new MaterialRevisions(); StageInstanceModels models = new StageInstanceModels(); StageInstanceModel firstStage = new StageInstanceModel("dev", "1", new JobHistory()); firstStage.setApprovedBy("some_user"); models.add(firstStage); PipelineInstanceModel model = PipelineInstanceModel.createPipeline("pipeline", -1, "label", BuildCause.createWithModifications(revisions, ""), models); assertThat(model.getApprovedBy(), is("some_user")); assertThat(model.getApprovedByForDisplay(), is("Triggered by some_user")); }