Package com.xebialabs.xlrelease.api.v1

## Interface ReportApi

- All Superinterfaces:
    `ApiService`

      @Path("/api/v1/reports")
      @Produces("application/json")
      @Consumes("application/json")
      public interface ReportApi
      extends ApiService

  Operations on report.

- - ### Field Summary

    - ### Fields inherited from interface com.xebialabs.xlrelease.api.ApiService

      `DEFAULT_RESULTS_PER_PAGE, DEFAULT_RESULTS_PER_PAGE_STRING, DEPTH, ORDER_BY, PAGE, PAGE_IS_OFFSET, RESULTS_PER_PAGE, ROLE_IDS_DATA`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `javax.ws.rs.core.Response` | `downloadReleaseReport​(java.lang.String reportType, java.lang.String releaseId)` | Download the single-release report by type.
    `java.util.List<TaskReportingRecord>` | `getRecordsForRelease​(java.lang.String releaseId)` | Returns the list of reporting records associated with release.
    `java.util.List<TaskReportingRecord>` | `getRecordsForTask​(java.lang.String taskId)` | Returns the list of reporting records associated with task.
    `byte[]` | `getReleaseReport​(java.lang.String reportType, java.lang.String releaseId)` | Returns the single-release report file by type.
    `java.util.List<TaskReportingRecord>` | `searchRecords​(FacetFilters facetFilters)` | Searches records.
    `default java.lang.String` | `serviceName()` |

- - ### Method Detail

    - #### serviceName

          default java.lang.String serviceName()

      Specified by:
        `serviceName` in interface `ApiService`

    - #### getRecordsForRelease

          @GET
          @Path("/records/{releaseId:.*Release[^/]*}")
          java.util.List<TaskReportingRecord> getRecordsForRelease​(@PathParam("releaseId")
                                                                   java.lang.String releaseId)

      Returns the list of reporting records associated with release.
      Parameters:
        `releaseId` - the identifier of the release.
      Returns:
        found `List<TaskReportingRecord>` object

    - #### getRecordsForTask

          @GET
          @Path("/records/{taskId:.*/Task[^/]*}")
          java.util.List<TaskReportingRecord> getRecordsForTask​(@PathParam("taskId")
                                                                java.lang.String taskId)

      Returns the list of reporting records associated with task.
      Parameters:
        `taskId` - the identifier of the task.
      Returns:
        found `List<TaskReportingRecord>` object

    - #### searchRecords

          @POST
          @Path("/records/search")
          java.util.List<TaskReportingRecord> searchRecords​(FacetFilters facetFilters)

      Searches records.
      Parameters:
        `facetFilters` - the search criteria
      Returns:
        found `List<TaskReportingRecord>` object

    - #### downloadReleaseReport

          @GET
          @Path("/download/{reportType}/{releaseId:.*Release[^/]*}")
          @Produces("application/octet-stream")
          javax.ws.rs.core.Response downloadReleaseReport​(@PathParam("reportType")
                                                          java.lang.String reportType,
                                                          @PathParam("releaseId")
                                                          java.lang.String releaseId)

      Download the single-release report by type.
      Parameters:
        `reportType` - the type of report
        `releaseId` - the identifier of the release
      Returns:
        found `List<TaskReportingRecord>` object

    - #### getReleaseReport

          byte[] getReleaseReport​(java.lang.String reportType,
                                  java.lang.String releaseId)
                           throws java.io.IOException

      Returns the single-release report file by type.
      Parameters:
        `reportType` - the type of report
        `releaseId` - the identifier of the release
      Returns:
        the attachment file.
      Throws:
        `java.io.IOException`