public StageInstanceModel getLatestStage() { PipelineInstanceModel latestPipelineInstance = pipelineModel.getLatestPipelineInstance(); if (latestPipelineInstance == null) { return null; } return latestPipelineInstance.latestStage(); }
/** * Note: this check should be part of the scheduling checker. * We will refactor it down to that point. */ public boolean canForce() { return canForce && !getLatestPipelineInstance().isPreparingToSchedule(); }
public boolean hasNewRevisions() { return getLatestPipelineInstance().hasNewRevisions(); }
public boolean hasNeverCheckedForRevisions() { return getLatestPipelineInstance().hasNeverCheckedForRevisions(); }
private String appendLockStatus(PipelineModel model) { StringBuilder builder = new StringBuilder(); PipelineInstanceModel latestPIM = model.getLatestPipelineInstance(); builder.append("{"); builder.append(latestPIM.isLockable()).append(DELIMITER); builder.append(latestPIM.isCurrentlyLocked()).append(DELIMITER); builder.append(latestPIM.canUnlock()); builder.append("}"); return builder.toString(); }
public static PipelineModel pipelineWithLatestRevision(MaterialRevisions latest) { PipelineModel pipelineModel = pipeline(); pipelineModel.getLatestPipelineInstance().setLatestRevisions(latest); return pipelineModel; }
public static PipelineModel pipelineWithLatestRevisionAndMaterialRevision(MaterialRevisions latest,MaterialRevisions revision) { PipelineModel pipelineModel = pipelineWithLatestRevision(latest); pipelineModel.getLatestPipelineInstance().setMaterialRevisionsOnBuildCause(revision); return pipelineModel; }
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()); } } } }
public static void toJSON(OutputWriter jsonOutputWriter, GoDashboardPipeline model, Username username) { String usernameString = username.getUsername().toString(); jsonOutputWriter .addLinks(linksWriter -> addLinks(linksWriter, model)) .add("name", model.name().toString()) .add("last_updated_timestamp", model.getLastUpdatedTimeStamp()) .add("locked", model.model().getLatestPipelineInstance().isCurrentlyLocked()) .addChild("pause_info", getPauseInfoNEW(model)) .add("can_operate", model.isPipelineOperator(usernameString)) .add("can_administer", model.canBeAdministeredBy(usernameString)) .add("can_unlock", model.canBeOperatedBy(usernameString)) .add("can_pause", model.canBeOperatedBy(usernameString)) .add("from_config_repo", !model.isLocal()); if (model.getTrackingTool().isPresent()) { TrackingTool trackingTool = model.getTrackingTool().get(); jsonOutputWriter.addChild("tracking_tool", childWriter -> { childWriter .add("regex", trackingTool.getRegex()) .add("link", trackingTool.getLink()); }); } jsonOutputWriter.addChild("_embedded", childWriter -> { childWriter.addChildList("instances", writeInstances(model)); }); }
public static void toJSON(OutputWriter jsonOutputWriter, GoDashboardPipeline model, Username username) { String usernameString = username.getUsername().toString(); jsonOutputWriter .addLinks(linksWriter -> addLinks(linksWriter, model)) .add("name", model.name().toString()) .add("last_updated_timestamp", model.getLastUpdatedTimeStamp()) .add("locked", model.model().getLatestPipelineInstance().isCurrentlyLocked()) .addChild("pause_info", getPauseInfoNEW(model)) .add("can_operate", model.isPipelineOperator(usernameString)) .add("can_administer", model.canBeAdministeredBy(usernameString)) .add("can_unlock", model.canBeOperatedBy(usernameString)) .add("can_pause", model.canBeOperatedBy(usernameString)) .add("from_config_repo", !model.isLocal()); if (model.getTrackingTool().isPresent()) { TrackingTool trackingTool = model.getTrackingTool().get(); jsonOutputWriter.addChild("tracking_tool", childWriter -> { childWriter .add("regex", trackingTool.getRegex()) .add("link", trackingTool.getLink()); }); } jsonOutputWriter.addChild("_embedded", childWriter -> { childWriter.addChildList("instances", writeInstances(model)); }); }