public static void toJSON(OutputWriter writer, TriggerOptions triggerOptions) {
PipelineInstanceModel pipelineInstanceModel = triggerOptions.getPipelineInstanceModel();
writer
.addLinks(outputLinkWriter -> outputLinkWriter.addAbsoluteLink("doc", Routes.Pipeline.DOC_TRIGGER_OPTIONS)
.addLink("self", Routes.Pipeline.triggerOptions(pipelineInstanceModel.getName()))
.addLink("schedule", Routes.Pipeline.schedule(pipelineInstanceModel.getName())))
.addChildList("variables", outputListWriter -> triggerOptions.getVariables().forEach(env ->
outputListWriter.addChild(envWriter -> {
envWriter
.add("name", env.getName())
.add("secure", env.isSecure());
if (!env.isSecure()) {
envWriter.add("value", env.getValue());
}
})
))
.addChildList("materials", outputListWriter -> pipelineInstanceModel.getMaterials()
.forEach(material -> outputListWriter.addChild(material(material, pipelineInstanceModel.findCurrentMaterialRevisionForUI(material)))));
}