Class ReportResource

java.lang.Object
com.xebialabs.xlrelease.reports.api.internal.ReportResource

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

    • 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 Details

    • getReleaseDuration

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

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

      @POST @Path("longest-tasks") public List<TaskDuration> getTopLongestTasks(ReportForm reportForm)
    • getTopLongestTaskTypes

      @POST @Path("longest-task-types") public List<LongestTaskType> getTopLongestTaskTypes(ReportForm reportForm)
    • getAverageAndLongestTaskDuration

      @POST @Path("average-and-longest-task-duration") public AverageAndLongestTaskDuration getAverageAndLongestTaskDuration(ReportForm reportForm)
    • getCompletedReleases

      @POST @Path("release/completed") public CompletedReleases getCompletedReleases(ReportForm reportForm)
    • getAverageAndLongestReleaseDuration

      @POST @Path("release/average-and-longest-release-duration") public AverageAndLongestReleaseDuration getAverageAndLongestReleaseDuration(ReportForm reportForm)
    • getReleaseAutomation

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

      @POST @Path("longest-phases") public List<PhaseDuration> getTopLongestPhases(ReportForm reportForm)
    • getNumberOfReleaseByMonth

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

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

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

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

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

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

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

      @GET @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 jakarta.ws.rs.core.UriInfo uriInfo)
    • poll

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

      @GET @Path("applicationNames") @Produces("application/json") public Set<String> applicationsNames()
    • environmentNames

      @GET @Path("environmentNames") @Produces("application/json") public Set<String> environmentNames()
    • abort

      @POST @Path("{jobId}/abort") @Produces("application/json") public jakarta.ws.rs.core.Response abort(@PathParam("jobId") Integer jobId)
    • abort

      @POST @Path("abort") @Produces("application/json") public jakarta.ws.rs.core.Response abort(List<Integer> jobIds)
    • abortAll

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

      @DELETE @Path("{jobId}") @Produces("application/json") public jakarta.ws.rs.core.Response delete(@PathParam("jobId") Integer jobId)
    • delete

      @POST @Path("delete") @Produces("application/json") public jakarta.ws.rs.core.Response delete(List<Integer> jobIds)
    • deleteAll

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

      @POST @Path("pdf/{reportName}") @Produces("application/octet-stream") public jakarta.ws.rs.core.Response generateReportPdf(@PathParam("reportName") String reportName, String pngContent)