Class ReportResource


  • @Path("/reports")
    @Consumes("application/json")
    @Produces("application/json")
    @Controller
    public class ReportResource
    extends java.lang.Object
    Provides data to the various reports available in the Digital.ai Release UI.
    • Constructor Detail

      • ReportResource

        @Autowired
        public ReportResource​(com.xebialabs.xlrelease.security.PermissionChecker permissions,
                              com.xebialabs.xlrelease.reports.service.ReportServiceCache reportService,
                              com.xebialabs.xlrelease.reports.job.api.ReportingEngineService reportingEngineService,
                              com.xebialabs.xlrelease.service.UserProfileService userProfileService,
                              com.xebialabs.xlrelease.reports.service.ReportsService reportsService,
                              com.xebialabs.xlrelease.reports.pdf.DashboardReportService dashboardReportService)
    • Method Detail

      • getReleaseDuration

        @POST
        @Timed
        @Path("releases/duration")
        public ReleasesDuration getReleaseDuration​(ReportForm reportForm)
      • getTopPeopleMostInvolved

        @POST
        @Timed
        @Path("most-involved-people")
        public java.util.List<UserParticipation> getTopPeopleMostInvolved​(ReportForm reportForm)
      • getTopLongestTasks

        @POST
        @Timed
        @Path("longest-tasks")
        public java.util.List<TaskDuration> getTopLongestTasks​(ReportForm reportForm)
      • getTopLongestTaskTypes

        @POST
        @Timed
        @Path("longest-task-types")
        public java.util.List<LongestTaskType> getTopLongestTaskTypes​(ReportForm reportForm)
      • getCompletedReleases

        @POST
        @Timed
        @Path("release/completed")
        public CompletedReleases getCompletedReleases​(ReportForm reportForm)
      • getReleaseAutomation

        @POST
        @Timed
        @Path("releases/automation")
        public ReleasesAutomation getReleaseAutomation​(ReportForm reportForm)
      • getTopLongestPhases

        @POST
        @Timed
        @Path("longest-phases")
        public java.util.List<PhaseDuration> getTopLongestPhases​(ReportForm reportForm)
      • getNumberOfReleaseByMonth

        @POST
        @Timed
        @Path("releases/number-by-month")
        public java.util.List<com.xebialabs.xlrelease.views.Point> getNumberOfReleaseByMonth​(ReportForm reportForm)
      • getMostRecentReleaseData

        @POST
        @Timed
        @Path("releases/most-recent/{limit}")
        public java.util.List<ReleaseAutomationData> getMostRecentReleaseData​(@PathParam("limit")
                                                                              java.lang.Integer limit,
                                                                              ReportForm reportForm)
      • preview

        @POST
        @Timed
        @Path("preview")
        @Produces("application/json")
        public javax.ws.rs.core.Response preview​(com.xebialabs.xlrelease.reports.job.api.ReportDefinition report)
      • submit

        @POST
        @Timed
        @Path("submit")
        @Produces("application/json")
        public javax.ws.rs.core.Response submit​(com.xebialabs.xlrelease.reports.job.api.ReportDefinition report)
      • download

        @GET
        @Timed
        @Path("download/{jobId}")
        @Produces("application/octet-stream")
        public javax.ws.rs.core.Response download​(@PathParam("jobId")
                                                  java.lang.Integer jobId)
      • status

        @GET
        @Timed
        @Path("status/{jobId}")
        @Produces("application/json")
        public javax.ws.rs.core.Response status​(@PathParam("jobId")
                                                java.lang.Integer jobId)
      • get

        @GET
        @Timed
        @Path("{jobId}")
        @Produces("application/json")
        public javax.ws.rs.core.Response get​(@PathParam("jobId")
                                             java.lang.Integer jobId)
      • search

        @GET
        @Timed
        @Path("search")
        @Produces("application/json")
        public org.springframework.data.domain.Page<com.xebialabs.xlrelease.reports.job.domain.ReportJob> search​(@BeanParam
                                                                                                                 com.xebialabs.xlrelease.reports.job.repository.ReportJobFilters reportJobFilters,
                                                                                                                 @DefaultValue("0") @QueryParam("page")
                                                                                                                 int page,
                                                                                                                 @DefaultValue("100") @QueryParam("resultsPerPage")
                                                                                                                 int resultsPerPage,
                                                                                                                 @Context
                                                                                                                 javax.ws.rs.core.UriInfo uriInfo)
      • poll

        @POST
        @Timed
        @Path("poll")
        @Produces("application/json")
        public java.util.List<com.xebialabs.xlrelease.reports.job.domain.ReportJob> poll​(java.util.List<java.lang.Integer> jobIds)
      • applicationsNames

        @GET
        @Timed
        @Path("applicationNames")
        @Produces("application/json")
        public java.util.Set<java.lang.String> applicationsNames()
      • environmentNames

        @GET
        @Timed
        @Path("environmentNames")
        @Produces("application/json")
        public java.util.Set<java.lang.String> environmentNames()
      • abort

        @POST
        @Timed
        @Path("{jobId}/abort")
        @Produces("application/json")
        public javax.ws.rs.core.Response abort​(@PathParam("jobId")
                                               java.lang.Integer jobId)
      • abort

        @POST
        @Timed
        @Path("abort")
        @Produces("application/json")
        public javax.ws.rs.core.Response abort​(java.util.List<java.lang.Integer> jobIds)
      • abortAll

        @POST
        @Timed
        @Path("abort/all")
        @Produces("application/json")
        public javax.ws.rs.core.Response abortAll()
      • delete

        @DELETE
        @Timed
        @Path("{jobId}")
        @Produces("application/json")
        public javax.ws.rs.core.Response delete​(@PathParam("jobId")
                                                java.lang.Integer jobId)
      • delete

        @POST
        @Timed
        @Path("delete")
        @Produces("application/json")
        public javax.ws.rs.core.Response delete​(java.util.List<java.lang.Integer> jobIds)
      • deleteAll

        @POST
        @Timed
        @Path("delete/all")
        @Produces("application/json")
        public javax.ws.rs.core.Response deleteAll()
      • generateReportPdf

        @POST
        @Path("pdf")
        @Produces("application/octet-stream")
        public javax.ws.rs.core.Response generateReportPdf​(@QueryParam("reportName")
                                                           java.lang.String reportName,
                                                           java.lang.String pngContent)