public String ccProjectName() { return String.format("%s :: %s", getPipelineName(), getStageName()); }
String cacheKeyForOriginalJobIdentifier(StageIdentifier stageIdentifier, String jobName) { return cacheKeyGenerator.generate("originalJobIdentifier", stageIdentifier.getPipelineName(), stageIdentifier.getPipelineLabel().toLowerCase(), String.valueOf(stageIdentifier.getPipelineCounter()), stageIdentifier.getStageName().toLowerCase(), stageIdentifier.getStageCounter().toLowerCase(), jobName.toLowerCase()); }
public String getStageLocator() { return String.format("%s/%s/%s/%s", getPipelineName(), getPipelineCounter(), getStageName(), getStageCounter()); }
public String getTitle() { return String.format("%s(%s) stage %s(%s) %s", identifier.getPipelineName(), identifier.getPipelineCounter(), identifier.getStageName(), identifier.getStageCounter(), stageResult); }
String cacheKeyForListOfStageIdentifiers(StageIdentifier stageIdentifier) { return cacheKeyGenerator.generate("stageRunIdentifier", stageIdentifier.getPipelineName(), stageIdentifier.getPipelineCounter(), stageIdentifier.getStageName()); }
String cacheKeyForStageOffset(Stage stage) { return cacheKeyGenerator.generate("stageOffsetMap", stage.getIdentifier().getPipelineName(), stage.getIdentifier().getStageName()).intern(); }
public StageHistoryPage findStageHistoryPage(final Stage stage, final int pageSize) { final StageIdentifier id = stage.getIdentifier(); return findStageHistoryPage(id.getPipelineName(), id.getStageName(), () -> { int total = getCount(id.getPipelineName(), id.getStageName()); int offset = findOffsetForStage(stage); return Pagination.pageFor(offset, total, pageSize); }); }
/** * IMPORTANT: this method is only meant for TOP level usage(never use this within a transaction). It gobbles exception. */ public Stage rerunFailedJobs(final Stage stage, final HttpOperationResult result) { final StageIdentifier identifier = stage.getIdentifier(); JobInstances jobInstances = stage.jobsWithResult(JobResult.Cancelled, JobResult.Failed); List<String> jobNames = jobInstances.stream().map(JobInstance::getName).collect(Collectors.toList()); if (jobNames.isEmpty()) { String message = "There are no failed jobs in the stage that could be re-run"; result.badRequest(message, message, HealthStateType.general(HealthStateScope.forStage(identifier.getPipelineName(), identifier.getStageName()))); return null; } return rerunJobs(stage, jobNames, result); }
public JobIdentifier(StageIdentifier stage, String jobName, Long jobId) { this(stage.getPipelineName(), stage.getPipelineCounter(), stage.getPipelineLabel(), stage.getStageName(), stage.getStageCounter(), jobName, jobId); }
private String mutexForStageInstance(StageIdentifier id) { return mutexForStageInstance(id.getPipelineName(), id.getPipelineCounter(), id.getStageName(), id.getStageCounter()); }
public JobIdentifier(StageIdentifier stage, String jobName) { this(stage.getPipelineName(), stage.getPipelineCounter(), stage.getPipelineLabel(), stage.getStageName(), stage.getStageCounter(), jobName, 0L); }
String cacheKeyForStageIdentifier(StageIdentifier stageIdentifier) { return cacheKeyGenerator.generate("stageIdentifier", stageIdentifier.getPipelineName(), stageIdentifier.getPipelineCounter(), stageIdentifier.getStageName(), stageIdentifier.getStageCounter()); }
protected void updateCachedLatestSuccessfulStage(Stage stage) { if (stage.passed()) { StageIdentifier identifier = stage.getIdentifier(); String cacheKey = latestSuccessfulStageCacheKey(identifier.getPipelineName(), identifier.getStageName()); synchronized (cacheKey) { goCache.put(cacheKey, identifier); } } }
public JobIdentifier(StageIdentifier stageIdentifier, JobInstance job) { this(stageIdentifier.getPipelineName(), stageIdentifier.getPipelineCounter(), stageIdentifier.getPipelineLabel(), stageIdentifier.getStageName(), stageIdentifier.getStageCounter(), job.getName(), job.getId()); }
private void clearJobStatusDependentCaches(long stageId, StageIdentifier stageIdentifier) { removeFromCache(cacheKeyForStageById(stageId)); clearCachedStage(stageIdentifier); clearCachedAllStages(stageIdentifier.getPipelineName(), stageIdentifier.getPipelineCounter(), stageIdentifier.getStageName()); }
@Test public void shouldConstructFromStageLocator() { StageIdentifier identifier = new StageIdentifier("pipeline-name/10/stage-name/7"); assertThat(identifier.getPipelineName(), is("pipeline-name")); assertThat(identifier.getStageName(), is("stage-name")); assertThat(identifier.getPipelineCounter(), is(10)); assertThat(identifier.getStageCounter(), is("7")); }
private int findOffsetForStage(Stage stage) { String key = cacheKeyForStageOffset(stage); Integer offset = (Integer) goCache.get(key, String.valueOf(stage.getId())); if (offset == null) { Map<String, Object> args = arguments("stageId", stage.getId()). and("stageName", stage.getIdentifier().getStageName()). and("pipelineName", stage.getIdentifier().getPipelineName()) .asMap(); offset = (Integer) getSqlMapClientTemplate().queryForObject("findOffsetForStage", args); goCache.put(key, String.valueOf(stage.getId()), offset); } return offset; }
public StageHistoryEntry findImmediateChronologicallyForwardStageHistoryEntry(StageHistoryEntry stageHistoryEntry) { StageIdentifier stageIdentifier = stageHistoryEntry.getIdentifier(); Map<String, Object> args = arguments("pipelineName", stageIdentifier.getPipelineName()). and("stageName", stageIdentifier.getStageName()). and("id", stageHistoryEntry.getId()). and("limit", 1).asMap(); return (StageHistoryEntry) getSqlMapClientTemplate().queryForObject("findStageHistoryEntryBefore", args); }
public List<StageAsDMR> getPassedStagesAfter(StageIdentifier stageIdentifier, int limit, int offset) { Stage laterThan = findStageWithIdentifier(stageIdentifier); Map<String, Object> toGet = arguments("pipelineName", stageIdentifier.getPipelineName()).and("stageName", stageIdentifier.getStageName()) .and("laterThan", laterThan.getId()).and("limit", limit).and("offset", offset).asMap(); return (List<StageAsDMR>) getSqlMapClientTemplate().queryForList("allPassedStageAsDMRsAfter", toGet); }
public StageSummaryModel findStageSummaryByIdentifier(StageIdentifier stageId, Username username, LocalizedOperationResult result) { if (!securityService.hasViewPermissionForPipeline(username, stageId.getPipelineName())) { result.forbidden(LocalizedMessage.forbiddenToViewPipeline(stageId.getPipelineName()), HealthStateType.general(HealthStateScope.forPipeline(stageId.getPipelineName()))); return null; } Stages stages = stageDao.getAllRunsOfStageForPipelineInstance(stageId.getPipelineName(), stageId.getPipelineCounter(), stageId.getStageName()); for (Stage stage : stages) { if (stage.getIdentifier().getStageCounter().equals(stageId.getStageCounter())) { StageSummaryModel summaryModel = new StageSummaryModel(stage, stages, stageDao, null); return summaryModel; } } result.notFound("Stage '" + stageId + "' not found.", HealthStateType.general(HealthStateScope.GLOBAL)); return null; }