@Override public void fillModel(@NotNull Map<String, Object> model, @NotNull HttpServletRequest request) { SBuild build = getBuild(request); model.put("artBuildId", build.getBuildId()); }
@NotNull private String getPatternsForBuild(@NotNull final BuildCleanupContext cleanupContext, @NotNull final SBuild build) { if (cleanupContext.getCleanupLevel().isCleanHistoryEntry()) return StringUtil.EMPTY; final CleanupPolicy policy = cleanupContext.getCleanupPolicyForBuild(build.getBuildId()); return StringUtil.emptyIfNull(policy.getParameters().get(HistoryRetentionPolicy.ARTIFACT_PATTERNS_PARAM)); }
private String getRiskReportUrl(final HttpServletRequest request, final SBuildServer server) { final SBuild build = BuildDataExtensionUtil.retrieveBuild(request, server); if (build.getArtifactsDirectory() == null) { return null; } String externalId = build.getBuildTypeExternalId(); // based on information found in the TeamCity blog: // https://blog.jetbrains.com/teamcity/2012/06/teamcity-ivy-gradle-maven/ final String prefix = "/repository/download/"; final String indexHtml = HubConstantValues.HUB_RISK_REPORT_DIRECTORY_NAME + "/riskreport.html"; final String reportUrl = prefix + externalId + "/" + build.getBuildId() + ":id/" + indexHtml; return reportUrl; } }
protected WebHookHistoryItem(WebHookConfig whc, WebHookExecutionStats webHookExecutionStats, SBuild sBuild, WebHookErrorStatus errorStatus) { this.projectId = sBuild.getProjectId(); this.buildTypeId = sBuild.getBuildTypeId(); this.buildId = sBuild.getBuildId(); this.webHookConfig = whc; this.webHookExecutionStats = webHookExecutionStats; this.timestamp = findTimeStamp(webHookExecutionStats); this.webhookErrorStatus = checkAndSetHttpStatusInfo(errorStatus); }
for (SBuildRunnerDescriptor buildRunnerDescriptor : buildType.getBuildRunners()) { String buildUrl = customDataStorage.getValue(build.getBuildTypeExternalId() + "#" + Long.toString(build.getBuildId()) + "#" + buildRunnerDescriptor.getId()); if (StringUtils.isNotBlank(buildUrl)) { buildInfoUrls.put(buildUrl, buildRunnerDescriptor.getName()); String legacyBuildUrl = customDataStorage.getValue(Long.toString(build.getBuildId()) + "#" + buildRunnerDescriptor.getId()); if (StringUtils.isNotBlank(legacyBuildUrl)) {
@Test public void testGetPreviousNonPreviousNonPersonalBuild_WhenPreviousIsNonPersonal() { WebHookContentBuilder builder = new WebHookContentBuilder(null, null, resolverManager); WebHook wh = factory.getWebHook(); SBuild runningBuild = mock(SBuild.class); SFinishedBuild nonPersonalPreviousBuild = mock(SFinishedBuild.class); when(runningBuild.getPreviousFinished()).thenReturn(nonPersonalPreviousBuild); when(runningBuild.getBuildId()).thenReturn(100L); when(nonPersonalPreviousBuild.getBuildId()).thenReturn(98L); SBuild previousBuild = builder.getPreviousNonPersonalBuild(wh, runningBuild); assertEquals(nonPersonalPreviousBuild, previousBuild); assertEquals(nonPersonalPreviousBuild, wh.getPreviousNonPersonalBuild()); assertEquals(98L, previousBuild.getBuildId()); }
@Test public void testGetPreviousNonPreviousNonPersonalBuild_WhenPreviousIsPersonal() { WebHookContentBuilder builder = new WebHookContentBuilder(null, null, resolverManager); WebHook wh = factory.getWebHook(); SBuild runningBuild = mock(SBuild.class); SFinishedBuild personalPreviousBuild = mock(SFinishedBuild.class); SFinishedBuild nonPersonalPreviousBuild = mock(SFinishedBuild.class); when(runningBuild.getPreviousFinished()).thenReturn(personalPreviousBuild); when(runningBuild.getBuildId()).thenReturn(100L); when(personalPreviousBuild.isPersonal()).thenReturn(true); when(personalPreviousBuild.getBuildId()).thenReturn(99L); when(personalPreviousBuild.getPreviousFinished()).thenReturn(nonPersonalPreviousBuild); when(nonPersonalPreviousBuild.getBuildId()).thenReturn(98L); SBuild previousBuild = builder.getPreviousNonPersonalBuild(wh, runningBuild); assertEquals(nonPersonalPreviousBuild, previousBuild); assertEquals(nonPersonalPreviousBuild, wh.getPreviousNonPersonalBuild()); assertEquals(98L, previousBuild.getBuildId()); }
@Test public void testGetPreviousNonPreviousNonPersonalBuild_WhenPersonalPreviousReturnsNull() { WebHookContentBuilder builder = new WebHookContentBuilder(null, null, resolverManager); WebHook wh = factory.getWebHook(); SBuild runningBuild = mock(SBuild.class); SFinishedBuild personalPreviousBuild = mock(SFinishedBuild.class); when(runningBuild.getPreviousFinished()).thenReturn(personalPreviousBuild); when(runningBuild.getBuildId()).thenReturn(100L); when(personalPreviousBuild.isPersonal()).thenReturn(true); when(personalPreviousBuild.getBuildId()).thenReturn(99L); when(personalPreviousBuild.getPreviousFinished()).thenReturn(null); SBuild previousBuild = builder.getPreviousNonPersonalBuild(wh, runningBuild); assertNull(previousBuild); assertNull(wh.getPreviousNonPersonalBuild()); }
@Test public void testGetPreviousNonPreviousNonPersonalBuild_WhenNonPersonalPreviousReturnsNull() { WebHookContentBuilder builder = new WebHookContentBuilder(null, null, resolverManager); WebHook wh = factory.getWebHook(); SBuild runningBuild = mock(SBuild.class); when(runningBuild.getPreviousFinished()).thenReturn(null); when(runningBuild.getBuildId()).thenReturn(100L); SBuild previousBuild = builder.getPreviousNonPersonalBuild(wh, runningBuild); assertNull(previousBuild); assertNull(wh.getPreviousNonPersonalBuild()); }
private WebHookHistoryRepository setupMocks() { Period fiveDays = new Period().withDays(5); MockitoAnnotations.initMocks(this); stats01.setStatusCode(200); stats01.setInitTimeStamp(LocalDateTime.now().minus(fiveDays).toDate()); stats02.setStatusCode(403); stats02.setErrored(true); stats02.setInitTimeStamp(LocalDateTime.now().minus(fiveDays).toDate()); WebHook webhook01 = new SimpleMockedWebHook(stats01); WebHook webhook02 = new SimpleMockedWebHook(stats02); when(sBuild01.getBuildTypeId()).thenReturn("bt01"); when(sBuild02.getBuildTypeId()).thenReturn("bt02"); when(sBuild01.getProjectId()).thenReturn("project01"); when(sBuild02.getProjectId()).thenReturn("project01"); when(sBuild01.getBuildId()).thenReturn(01L); when(sBuild02.getBuildId()).thenReturn(02L); whc1 = new WebHookConfig("project01", "MyProject", "http://url/1", true, new BuildState().setAllEnabled(), "testFormat", "jsonTemplate", true, true, null, null); whc2 = new WebHookConfig("project01", "MyProject", "http://url/2", true, new BuildState().setAllEnabled(), "testFormat", "jsonTemplate", true, true, null, null); WebHookHistoryRepository historyRepository = new WebHookHistoryRepositoryImpl(); historyRepository.addHistoryItem(new WebHookHistoryItem(whc1, webhook01.getExecutionStats(), sBuild01, null)); historyRepository.addHistoryItem(new WebHookHistoryItem(whc2, webhook02.getExecutionStats(), sBuild02, null)); return historyRepository; }
setBuildFullName(sRunningBuild.getBuildType().getFullName()); setBuildName(sRunningBuild.getBuildType().getName()); setBuildId(Long.toString(sRunningBuild.getBuildId())); setBuildTypeId(TeamCityIdResolver.getBuildTypeId(sRunningBuild.getBuildType())); setBuildInternalTypeId(TeamCityIdResolver.getInternalBuildId(sRunningBuild.getBuildType()));