private Permissions permissionsFor(PipelineConfig pipelineConfig, Map<CaseInsensitiveString, Permissions> pipelinesAndTheirPermissions) { if (pipelinesAndTheirPermissions.containsKey(pipelineConfig.name())) { return pipelinesAndTheirPermissions.get(pipelineConfig.name()); } return new Permissions(NoOne.INSTANCE, NoOne.INSTANCE, NoOne.INSTANCE, NoOne.INSTANCE); }
private boolean alreadyContains(PipelineConfig pipelineConfig) { for (PipelineConfigs part : this.parts) { if(part.hasPipeline(pipelineConfig.name())) return true; } return false; }
@Override public List<CaseInsensitiveString> getAllPipelineNames() { List<CaseInsensitiveString> names = new ArrayList<>(); for (PipelineConfig config : getAllPipelineConfigs()) { names.add(config.name()); } return names; }
@Override public void onEntityConfigChange(PipelineConfig pipelineConfig) { unscheduleJob(CaseInsensitiveString.str(pipelineConfig.name())); scheduleJob(quartzScheduler, pipelineConfig); } };
private String getPipelineGroup() { if (group == null) { this.group = goConfigService.findGroupNameByPipeline(pipelineConfig.name()); } return group; }
public List<CaseInsensitiveString> pipelines(String group) { PipelineConfigs configs = getCurrentConfig().pipelines(group); List<CaseInsensitiveString> pipelines = new ArrayList<>(); for (PipelineConfig config : configs) { pipelines.add(config.name()); } return pipelines; }
private List<JobPlan> getAllJobPlansFromDeletedPipeline(PipelineConfig pipelineConfig, List<JobPlan> allJobPlans) { return allJobPlans.stream() .filter(jobPlan -> new CaseInsensitiveString(jobPlan.getPipelineName()).equals(pipelineConfig.name())) .collect(Collectors.toList()); }
public void check(OperationResult result) { HealthStateType type = HealthStateType.general(HealthStateScope.forPipeline(CaseInsensitiveString.str(pipelineConfig.name()))); if (pipelineConfig.isFirstStageManualApproval()) { String message = String.format("Failed to trigger pipeline [%s]", pipelineConfig.name()); result.error(message, String.format("The first stage of pipeline \"%s\" has manual approval", pipelineConfig.name()), type); } else { result.success(type); } } }
private PipelineConfig getPipeline(String pipelineName) { for (PipelineConfig config : pipelineConfigs) { if (config.name().equals(new CaseInsensitiveString(pipelineName))) { return config; } } return null; }
private void addConfiguredPipelinesThatAreNotRunYet(Username username, PipelineDependencyGraphOld graph, List<PipelineConfig> dependents) { for (PipelineConfig dependent : dependents) { if (!graph.hasDependent(CaseInsensitiveString.str(dependent.name()))) { graph.addDependent(addEmptyPipelineInstance(CaseInsensitiveString.str(dependent.name()), username, dependent, false)); } } }
@Override public Node getDependencyMaterials(CaseInsensitiveString pipelineName) { if (pipelineConfig.name().equals(pipelineName)) return pipelineConfig.getDependenciesAsNode(); return validationContext.getDependencyMaterialsFor(pipelineName); } }
private void updateCache(PipelineConfigs group, PipelineConfig pipelineConfig) { if (group == null) { removePipelineFromCache(pipelineConfig.name()); return; } cache.put(dashboardCurrentStateLoader.pipelineFor(pipelineConfig, group)); }
public void timerSchedulePipeline(PipelineConfig pipelineConfig, ServerHealthStateOperationResult result) { long trackingId = schedulingPerformanceLogger.timerSchedulePipelineStart(CaseInsensitiveString.str(pipelineConfig.name())); try { newProduceBuildCause(pipelineConfig, new TimedBuild(), result, trackingId); } finally { schedulingPerformanceLogger.timerSchedulePipelineFinish(trackingId, CaseInsensitiveString.str(pipelineConfig.name())); } }
private void populateReferences(List<Map<JobConfigIdentifier, List<PluggableArtifactConfig>>> usedByPipelines, PipelineConfig pipelineConfig) { for (StageConfig stage : pipelineConfig) { JobConfigs jobs = stage.getJobs(); for (JobConfig job : jobs) { final List<PluggableArtifactConfig> artifactConfigs = job.artifactConfigs().findByStoreId(profile.getId()); if (!artifactConfigs.isEmpty()) { usedByPipelines.add(Collections.singletonMap(new JobConfigIdentifier(pipelineConfig.name(), stage.name(), job.name()), artifactConfigs)); } } } } }
private Long findStageIdOf(PipelineConfig pipelineConfig, StageConfig stageConfig) { for (StageIdentity stageIdentity : stageIdentifiers) { if (stageIdentity.getPipelineName().equals(pipelineConfig.name().toString()) && stageIdentity.getStageName().equals(stageConfig.name().toString())) { return stageIdentity.getStageId(); } } return null; } }
private void populateMissingPipelines(Username username, PipelineGroupModels groupModels, PipelineConfigs group) { String groupName = group.getGroup(); for (PipelineConfig pipelineConfig : group) { if (!groupModels.containsPipeline(groupName, CaseInsensitiveString.str(pipelineConfig.name()))) { PipelineModel latestPipeline = latestPipelineModel(username, CaseInsensitiveString.str(pipelineConfig.name())); if (latestPipeline != null) { groupModels.addPipelineInstance(groupName, latestPipeline.getLatestPipelineInstance(), latestPipeline.canForce(), latestPipeline.canOperate(), latestPipeline.getPausedInfo()); } } } }
@Override public boolean isValid(CruiseConfig preprocessedConfig) { preprocessedPipelineConfig = preprocessedConfig.getPipelineConfigByName(pipelineConfig.name()); PipelineConfigSaveValidationContext validationContext = PipelineConfigSaveValidationContext.forChain(false, getPipelineGroup(), preprocessedConfig, preprocessedPipelineConfig); validatePublishAndFetchExternalConfigs(preprocessedPipelineConfig, preprocessedConfig); boolean isValid = preprocessedPipelineConfig.validateTree(validationContext) && preprocessedPipelineConfig.getAllErrors().isEmpty(); if (!isValid) { copyErrors(preprocessedPipelineConfig, pipelineConfig); } return isValid; }
public boolean canEditPipeline(String pipelineName, Username username) { PipelineConfig pipelineConfig; try { pipelineConfig = pipelineConfigNamed(new CaseInsensitiveString(pipelineName)); } catch (PipelineNotFoundException e) { return false; } return pipelineConfig != null && pipelineConfig.isLocal() && isUserAdminOfGroup(username.getUsername(), findGroupNameByPipeline(pipelineConfig.name())); }
private SchedulingChecker timerTriggerCheckers(PipelineConfig pipelineConfig) { String pipelineName = CaseInsensitiveString.str(pipelineConfig.name()); String stageName = CaseInsensitiveString.str(pipelineConfig.getFirstStageConfig().name()); return new CompositeChecker( new AboutToBeTriggeredChecker(pipelineConfig.name(), triggerMonitor, pipelineScheduleQueue), new PipelinePauseChecker(pipelineName, pipelinePauseService), new StageActiveChecker(pipelineName, stageName, stageService), new PipelineLockChecker(pipelineName, pipelineLockService), diskCheckers()); }