private void populateDups(List<JobConfigIdentifier> usedByPipelines, PipelineConfig pipelineConfig) { for (StageConfig stage : pipelineConfig) { JobConfigs jobs = stage.getJobs(); for (JobConfig job : jobs) { String id = profile.getId(); if (id.equals(job.getElasticProfileId())) { usedByPipelines.add(new JobConfigIdentifier(pipelineConfig.name(), stage.name(), job.name())); } } } }
private void validateElasticProfileId(JobConfig jobConfig, PipelineConfigSaveValidationContext preprocessedConfig) { String elasticProfileId = jobConfig.getElasticProfileId(); if (elasticProfileId != null && !preprocessedConfig.isValidProfileId(elasticProfileId)) { String message = String.format("No profile defined corresponding to profile_id '%s'", elasticProfileId); jobConfig.addError("elasticProfileId", message); this.errors().addAll(jobConfig.errors()); } }
if (StringUtils.equals(profileId, job.getElasticProfileId())) {
jobsCount += stageConfig.getJobs().size(); for (JobConfig job : stageConfig.getJobs()) { String elasticProfileId = job.getElasticProfileId(); if (elasticProfileId != null) { ElasticProfile elasticProfile = config.getElasticConfig().getProfiles().find(elasticProfileId);
public JobPlan createJobPlan(JobConfig config, SchedulingContext context) { JobIdentifier identifier = new JobIdentifier(); String elasticProfileId = config.getElasticProfileId(); ElasticProfile elasticProfile = null; if (elasticProfileId != null) { elasticProfile = context.getElasticProfile(elasticProfileId); } final EnvironmentVariables variables = EnvironmentVariables.toEnvironmentVariables(context.overrideEnvironmentVariables(config.getVariables()).getEnvironmentVariablesConfig()); return new DefaultJobPlan(new Resources(config.resourceConfigs()), ArtifactPlan.toArtifactPlans(config.artifactConfigs()), ArtifactPropertiesGenerator.toArtifactProperties(config.getProperties()), -1, identifier, null, variables, new EnvironmentVariables(), elasticProfile); } }
String elasticProfileId = cruiseConfig.pipelineConfigByName(new CaseInsensitiveString("pipeline")).getStage("mingle").jobConfigByConfigName("functional").getElasticProfileId();
public static void toJSON(OutputWriter jsonWriter, JobConfig jobConfig) { if (!jobConfig.errors().isEmpty()) { jsonWriter.addChild("errors", errorWriter -> { HashMap<String, String> errorMapping = new HashMap<>(); errorMapping.put("runType", "run_instance_count"); new ErrorGetter(errorMapping).toJSON(errorWriter, jobConfig); }); } jsonWriter.addIfNotNull("name", jobConfig.name()); addRunInstanceCount(jsonWriter, jobConfig); addTimeout(jsonWriter, jobConfig); jsonWriter.addIfNotNull("elastic_profile_id", jobConfig.getElasticProfileId()); jsonWriter.addChildList("environment_variables", envVarsWriter -> EnvironmentVariableRepresenter.toJSON(envVarsWriter, jobConfig.getVariables())); jsonWriter.addChildList("resources", getResourceNames(jobConfig)); jsonWriter.addChildList("tasks", tasksWriter -> TaskRepresenter.toJSONArray(tasksWriter, jobConfig.getTasks())); jsonWriter.addChildList("tabs", tabsWriter -> TabConfigRepresenter.toJSONArray(tabsWriter, jobConfig.getTabs())); jsonWriter.addChildList("artifacts", getArtifacts(jobConfig)); if (jobConfig.getProperties().isEmpty()) { jsonWriter.renderNull("properties"); } else { jsonWriter.addChildList("properties", propertiesWriter -> PropertyConfigRepresenter.toJSONArray(propertiesWriter, jobConfig.getProperties())); } }
public static void toJSON(OutputWriter jsonWriter, JobConfig jobConfig) { if (!jobConfig.errors().isEmpty()) { jsonWriter.addChild("errors", errorWriter -> { HashMap<String, String> errorMapping = new HashMap<>(); errorMapping.put("runType", "run_instance_count"); new ErrorGetter(errorMapping).toJSON(errorWriter, jobConfig); }); } jsonWriter.addIfNotNull("name", jobConfig.name()); addRunInstanceCount(jsonWriter, jobConfig); addTimeout(jsonWriter, jobConfig); jsonWriter.addIfNotNull("elastic_profile_id", jobConfig.getElasticProfileId()); jsonWriter.addChildList("environment_variables", envVarsWriter -> EnvironmentVariableRepresenter.toJSON(envVarsWriter, jobConfig.getVariables())); jsonWriter.addChildList("resources", getResourceNames(jobConfig)); jsonWriter.addChildList("tasks", tasksWriter -> TaskRepresenter.toJSONArray(tasksWriter, jobConfig.getTasks())); jsonWriter.addChildList("tabs", tabsWriter -> TabConfigRepresenter.toJSONArray(tabsWriter, jobConfig.getTabs())); jsonWriter.addChildList("artifacts", getArtifacts(jobConfig)); if (jobConfig.getProperties().isEmpty()) { jsonWriter.renderNull("properties"); } else { jsonWriter.addChildList("properties", propertiesWriter -> PropertyConfigRepresenter.toJSONArray(propertiesWriter, jobConfig.getProperties())); } }
CRJob jobToCRJob(JobConfig jobConfig) { CRJob job = new CRJob(); job.setName(jobConfig.name().toString()); job.setResources(jobConfig.resourceConfigs().resourceNames()); job.setElasticProfileId(jobConfig.getElasticProfileId()); for (EnvironmentVariableConfig var: jobConfig.getVariables()) { job.addEnvironmentVariable(environmentVariableConfigToCREnvironmentVariable(var)); } for (ArtifactPropertyConfig prop: jobConfig.getProperties()) { job.addProperty(new CRPropertyGenerator(prop.getName(), prop.getSrc(), prop.getXpath())); } for(Tab tab: jobConfig.getTabs()) { job.addTab(new CRTab(tab.getName(), tab.getPath())); } for (ArtifactConfig artifactConfig: jobConfig.artifactConfigs()) { job.addArtifact(artifactConfigToCRArtifact(artifactConfig)); } if (jobConfig.isRunOnAllAgents()) { job.setRunOnAllAgents(jobConfig.isRunOnAllAgents()); } else { job.setRunInstanceCount(jobConfig.getRunInstanceCountValue()); } for (Task task: jobConfig.tasks()) { job.addTask(taskToCRTask(task)); } if (jobConfig.getTimeout() != null) { job.setTimeout(Integer.valueOf(jobConfig.getTimeout())); } return job; }