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))))); }
public static void toJSON(OutputWriter outputWriter, EnvironmentConfig environmentViewModel) { String envName = environmentViewModel.name().toString(); EnvironmentPipelinesConfig pipelines = environmentViewModel.getPipelines(); EnvironmentAgentsConfig agentsViewModel = environmentViewModel.getAgents(); EnvironmentVariablesConfig environmentVariableConfigs = environmentViewModel.getVariables(); outputWriter .addLinks(linksWriter -> linksWriter .addLink("self", Routes.Environments.name(envName)) .addAbsoluteLink("doc", Routes.Environments.DOC) .addLink("find", Routes.Environments.find())) .add("name", envName) .addChildList("agents", agentListWriter -> agentsViewModel.forEach(agent -> agentListWriter.addChild(propertyWriter -> AgentRepresenter.toJSON(propertyWriter, agent)) ) ) .addChildList("pipelines", listWriter -> pipelines.forEach(pipelineConfig -> listWriter.addChild(propertyWriter -> PipelineRepresenter.toJSON(propertyWriter, pipelineConfig)))) .addChildList("environment_variables", environmentListWriter -> environmentVariableConfigs.forEach(environmentVariable -> environmentListWriter.addChild(propertyWriter -> EnvironmentVariableRepresenter.toJSON(propertyWriter, environmentVariable)) ) ); }