public JsonObject transform(Map.Entry<String, Object> env) { String envName = env.getKey(); JsonObject envJson = new JsonObject(); envJson.addProperty(JSON_ENV_NAME_FIELD, envName); Object envObj = env.getValue(); if (envObj == null) return envJson; if (!(envObj instanceof Map)) throw new YamlConfigException("Expected environment to be a hash"); Map<String, Object> envMap = (Map<String, Object>) envObj; addOptionalStringList(envJson, envMap, "agents", "agents"); addOptionalStringList(envJson, envMap, "pipelines", "pipelines"); JsonArray jsonEnvVariables = environmentVariablesTransform.transform(envMap); if (jsonEnvVariables != null && jsonEnvVariables.size() > 0) envJson.add(JSON_ENV_VAR_FIELD, jsonEnvVariables); return envJson; } }
private void addApproval(JsonObject stage, Map<String, Object> stageMap) { Object approval = stageMap.get(YAML_STAGE_APPROVAL_FIELD); if (approval == null) return; JsonObject approvalJson = new JsonObject(); if (approval instanceof String) { // shorthand if ("auto".equals(approval) || "success".equals(approval)) approvalJson.addProperty(JSON_STAGE_APPROVAL_TYPE_FIELD, "success"); else if ("manual".equals(approval)) approvalJson.addProperty(JSON_STAGE_APPROVAL_TYPE_FIELD, "manual"); else throw new YamlConfigException("Approval should be a hash or string [auto or manual]"); } else { Map<String, Object> approvalMap = (Map<String, Object>) approval; addRequiredString(approvalJson, approvalMap, JSON_STAGE_APPROVAL_TYPE_FIELD, YAML_STAGE_APPROVAL_TYPE_FIELD); addOptionalStringList(approvalJson, approvalMap, JSON_STAGE_APPROVAL_USERS_FIELD, YAML_STAGE_APPROVAL_USERS_FIELD); addOptionalStringList(approvalJson, approvalMap, JSON_STAGE_APPROVAL_ROLES_FIELD, YAML_STAGE_APPROVAL_ROLES_FIELD); } stage.add(JSON_STAGE_APPROVAL_FIELD, approvalJson); }
addOptionalStringList(taskJson, taskMap, JSON_TASK_EXEC_ARGS_FIELD, YAML_TASK_EXEC_ARGS_FIELD);
public JsonObject transform(String jobName, Map<String, Object> jobMap) { JsonObject jobJson = new JsonObject(); jobJson.addProperty(JSON_JOB_NAME_FIELD, jobName); addOptionalInteger(jobJson, jobMap, JSON_JOB_TIMEOUT_FIELD, YAML_JOB_TIMEOUT_FIELD); addRunInstances(jobMap, jobJson); JsonArray jsonEnvVariables = environmentTransform.transform(jobMap); if (jsonEnvVariables != null && jsonEnvVariables.size() > 0) jobJson.add(JSON_ENV_VAR_FIELD, jsonEnvVariables); addTabs(jobJson, jobMap); addOptionalStringList(jobJson, jobMap, JSON_JOB_RESOURCES_FIELD, YAML_JOB_RESOURCES_FIELD); addOptionalString(jobJson, jobMap, JSON_JOB_ELASTIC_PROFILE_FIELD, YAML_JOB_ELASTIC_PROFILE_FIELD); addArtifacts(jobJson, jobMap); addProperties(jobJson, jobMap); addTasks(jobJson, jobMap); return jobJson; }