Package com.xebialabs.xlrelease.api.v1

## Interface ReleaseGroupApi

- All Superinterfaces:
    `ApiService`

      @Path("/api/v1/release-groups")
      @Produces("application/json")
      @Consumes("application/json")
      public interface ReleaseGroupApi
      extends ApiService

  Operations on release groups.

- - ### 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
    --- | --- | ---
    `void` | `addMembersToGroup​(java.lang.String groupId, java.util.List<java.lang.String> memberIds)` |
    `ReleaseGroup` | `createGroup​(ReleaseGroup releaseGroup)` |
    `void` | `deleteGroup​(java.lang.String groupId)` |
    `ReleaseGroup` | `getGroup​(java.lang.String groupId)` |
    `java.util.List<java.lang.String>` | `getMembers​(java.lang.String groupId)` |
    `ReleaseGroupTimeline` | `getReleaseGroupTimeline​(java.lang.String groupId)` |
    `void` | `removeMembersFromGroup​(java.lang.String groupId, java.util.List<java.lang.String> memberIds)` |
    `java.util.List<ReleaseGroup>` | `searchGroups​(ReleaseGroupFilters groupFilters, java.lang.Long page, java.lang.Long resultsPerPage, ReleaseGroupOrderMode orderBy)` |
    `default java.lang.String` | `serviceName()` |
    `ReleaseGroup` | `updateGroup​(java.lang.String groupId, ReleaseGroup releaseGroup)` |

- - ### Method Detail

    - #### serviceName

          default java.lang.String serviceName()

      Specified by:
        `serviceName` in interface `ApiService`

    - #### getGroup

          @GET
          @Path("/{groupId:.*ReleaseGroup[^/]*}")
          ReleaseGroup getGroup​(@PathParam("groupId")
                                java.lang.String groupId)

    - #### deleteGroup

          @DELETE
          @Path("/{groupId:.*ReleaseGroup[^/]*}")
          void deleteGroup​(@PathParam("groupId")
                           java.lang.String groupId)

    - #### createGroup

          @POST
          ReleaseGroup createGroup​(ReleaseGroup releaseGroup)

    - #### updateGroup

          @PUT
          @Path("/{groupId:.*ReleaseGroup[^/]*}")
          ReleaseGroup updateGroup​(@PathParam("groupId")
                                   java.lang.String groupId,
                                   ReleaseGroup releaseGroup)

    - #### getMembers

          @GET
          @Path("/{groupId:.*ReleaseGroup[^/]*}/members")
          java.util.List<java.lang.String> getMembers​(@PathParam("groupId")
                                                      java.lang.String groupId)

    - #### addMembersToGroup

          @POST
          @Path("/{groupId:.*ReleaseGroup[^/]*}/members")
          void addMembersToGroup​(@PathParam("groupId")
                                 java.lang.String groupId,
                                 java.util.List<java.lang.String> memberIds)

    - #### removeMembersFromGroup

          @DELETE
          @Path("/{groupId:.*ReleaseGroup[^/]*}/members")
          void removeMembersFromGroup​(@PathParam("groupId")
                                      java.lang.String groupId,
                                      java.util.List<java.lang.String> memberIds)

    - #### searchGroups

          @POST
          @Path("search")
          java.util.List<ReleaseGroup> searchGroups​(ReleaseGroupFilters groupFilters,
                                                    @DefaultValue("0") @QueryParam("page")
                                                    java.lang.Long page,
                                                    @DefaultValue("100") @QueryParam("resultsPerPage")
                                                    java.lang.Long resultsPerPage,
                                                    @DefaultValue("RISK") @QueryParam("orderBy")
                                                    ReleaseGroupOrderMode orderBy)

    - #### getReleaseGroupTimeline

          @GET
          @Path("/{groupId:.*ReleaseGroup[^/]*}/timeline")
          ReleaseGroupTimeline getReleaseGroupTimeline​(@PathParam("groupId")
                                                       java.lang.String groupId)