in karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/PipelineRunEventHandler.java [62:91]
public PipelineStatus getPipelineStatus( PipelineRun pipelineRun) {
String projectId = pipelineRun.getMetadata().getLabels().get("karavan-project-id");
if (projectId != null) {
Project project = infinispanService.getProject(projectId);
if (project != null) {
PipelineStatus pipelineStatus = new PipelineStatus(project.getProjectId(), kubernetesService.environment);
if (pipelineRun.getStatus() != null) {
Instant runStartTime = Instant.parse(pipelineRun.getStatus().getStartTime());
Instant savedStartTime = pipelineStatus.getStartTime() != null
? Instant.parse(pipelineStatus.getStartTime())
: Instant.MIN;
if (runStartTime.isAfter(savedStartTime) || pipelineRun.getMetadata().getName().equals(pipelineStatus.getPipelineName())) {
pipelineStatus.setPipelineName(pipelineRun.getMetadata().getName());
pipelineStatus.setResult(pipelineRun.getStatus().getConditions().get(0).getReason());
pipelineStatus.setStartTime(pipelineRun.getStatus().getStartTime());
pipelineStatus.setCompletionTime(pipelineRun.getStatus().getCompletionTime());
}
} else {
pipelineStatus.setPipelineName(pipelineRun.getMetadata().getName());
pipelineStatus.setResult(null);
pipelineStatus.setStartTime(null);
pipelineStatus.setCompletionTime(null);
}
return pipelineStatus;
}
}
return null;
}