public String triggerOptions(Request request, Response response) throws IOException { String pipelineName = request.params("pipeline_name"); EnvironmentVariablesConfig variables = goConfigService.variablesFor(pipelineName); PipelineInstanceModel pipelineInstanceModel = pipelineHistoryService.latest(pipelineName, currentUsername()); TriggerOptions triggerOptions = new TriggerOptions(variables, pipelineInstanceModel); return writerForTopLevelObject(request, response, writer -> TriggerWithOptionsViewRepresenter.toJSON(writer, triggerOptions)); }
public PipelineInstanceModels latestInstancesForConfiguredPipelines(Username username) { PipelineInstanceModels pipelineInstances = PipelineInstanceModels.createPipelineInstanceModels(); for (PipelineConfigs group : goConfigService.currentCruiseConfig().getGroups()) { for (PipelineConfig pipelineConfig : group) { PipelineInstanceModel pipelineInstanceModel = latest(CaseInsensitiveString.str(pipelineConfig.name()), username); if (pipelineInstanceModel != null) { pipelineInstances.add(pipelineInstanceModel); } } } return pipelineInstances; }
public PipelineModel latestPipelineModel(Username username, String pipelineName) { PipelineInstanceModel instanceModel = latest(pipelineName, username); if (instanceModel != null) { boolean canForce = schedulingCheckerService.canManuallyTrigger(pipelineName, username); PipelinePauseInfo pauseInfo = pipelinePauseService.pipelinePauseInfo(pipelineName); PipelineModel pipelineModel = new PipelineModel(pipelineName, canForce, securityService.hasOperatePermissionForPipeline( username.getUsername(), pipelineName ), pauseInfo); populateLockStatus(instanceModel.getName(), username, instanceModel); pipelineModel.addPipelineInstance(instanceModel); String groupName = goConfigService.findGroupNameByPipeline(new CaseInsensitiveString(pipelineName)); if (goConfigService.isPipelineEditable(pipelineName)) pipelineModel.updateAdministrability(goConfigService.isUserAdminOfGroup(username.getUsername(), groupName)); else pipelineModel.updateAdministrability(false); return pipelineModel; } return null; }