public PipelineStatus getPipelineStatus()

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;
    }