Class GroupApi

All Implemented Interfaces:
Constants

public class GroupApi
extends AbstractApi
This class implements the client side API for the GitLab groups calls.
See Also:
Groups API at GitLab, Group and project members API at GitLab, Group and project access requests API, Group badges API, Group audit events API
  • Constructor Details

    • GroupApi

      public GroupApi​(GitLabApi gitLabApi)
  • Method Details

    • getGroups

      public List<Group> getGroups() throws GitLabApiException

      Get a list of groups. (As user: my groups, as admin: all groups)

      WARNING: Do not use this method to fetch groups from https://gitlab.com, gitlab.com has many 1,000's of public groups and it will a long time to fetch all of them. Instead use getGroups(int itemsPerPage) which will return a Pager of Group instances.
      GitLab Endpoint: GET /groups
      Returns:
      the list of groups viewable by the authenticated user
      Throws:
      GitLabApiException - if any exception occurs
    • getGroups

      public List<Group> getGroups​(int page, int perPage) throws GitLabApiException
      Get a list of groups (As user: my groups, as admin: all groups) and in the specified page range.
      GitLab Endpoint: GET /groups
      Parameters:
      page - the page to get
      perPage - the number of Group instances per page
      Returns:
      the list of groups viewable by the authenticated userin the specified page range
      Throws:
      GitLabApiException - if any exception occurs
    • getGroups

      public Pager<Group> getGroups​(int itemsPerPage) throws GitLabApiException
      Get a Pager of groups. (As user: my groups, as admin: all groups)
      GitLab Endpoint: GET /groups
      Parameters:
      itemsPerPage - the number of Group instances that will be fetched per page
      Returns:
      the list of groups viewable by the authenticated user
      Throws:
      GitLabApiException - if any exception occurs
    • getGroupsStream

      public Stream<Group> getGroupsStream() throws GitLabApiException
      Get a Stream of groups. (As user: my groups, as admin: all groups)
      GitLab Endpoint: GET /groups
      Returns:
      a Stream of groups viewable by the authenticated user
      Throws:
      GitLabApiException - if any exception occurs
    • getGroups

      public List<Group> getGroups​(String search) throws GitLabApiException
      Get all groups that match your string in their name or path.
      Parameters:
      search - the group name or path search criteria
      Returns:
      a List containing matching Group instances
      Throws:
      GitLabApiException - if any exception occurs
    • getGroups

      public List<Group> getGroups​(String search, int page, int perPage) throws GitLabApiException
      Get all groups that match your string in their name or path.
      Parameters:
      search - the group name or path search criteria
      page - the page to get
      perPage - the number of Group instances per page
      Returns:
      a List containing matching Group instances
      Throws:
      GitLabApiException - if any exception occurs
    • getGroups

      public Pager<Group> getGroups​(String search, int itemsPerPage) throws GitLabApiException
      Get all groups that match your string in their name or path.
      Parameters:
      search - the group name or path search criteria
      itemsPerPage - the number of Group instances that will be fetched per page
      Returns:
      a Pager containing matching Group instances
      Throws:
      GitLabApiException - if any exception occurs
    • getGroupsStream

      public Stream<Group> getGroupsStream​(String search) throws GitLabApiException
      Get all groups that match your string in their name or path as a Stream.
      Parameters:
      search - the group name or path search criteria
      Returns:
      a Stream containing matching Group instances
      Throws:
      GitLabApiException - if any exception occurs
    • getGroups

      public List<Group> getGroups​(GroupFilter filter) throws GitLabApiException
      Get a list of visible groups for the authenticated user using the provided filter.
      GitLab Endpoint: GET /groups
      Parameters:
      filter - the GroupFilter to match against
      Returns:
      a List<Group> of the matching groups
      Throws:
      GitLabApiException - if any exception occurs
    • getGroups

      public Pager<Group> getGroups​(GroupFilter filter, int itemsPerPage) throws GitLabApiException
      Get a Pager of visible groups for the authenticated user using the provided filter.
      GitLab Endpoint: GET /groups
      Parameters:
      filter - the GroupFilter to match against
      itemsPerPage - the number of Group instances that will be fetched per page
      Returns:
      a Pager containing matching Group instances
      Throws:
      GitLabApiException - if any exception occurs
    • getGroupsStream

      public Stream<Group> getGroupsStream​(GroupFilter filter) throws GitLabApiException
      Get a Stream of visible groups for the authenticated user using the provided filter.
      GitLab Endpoint: GET /groups
      Parameters:
      filter - the GroupFilter to match against
      Returns:
      a Stream<Group> of the matching groups
      Throws:
      GitLabApiException - if any exception occurs
    • getSubGroups

      public List<Group> getSubGroups​(Object groupIdOrPath) throws GitLabApiException
      Get a list of visible direct subgroups in this group.
      GitLab Endpoint: GET /groups/:id/subgroups
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path, required
      Returns:
      a List<Group> containing the group's sub-groups
      Throws:
      GitLabApiException - if any exception occurs
      Since:
      GitLab 10.3.0
    • getSubGroups

      public Pager<Group> getSubGroups​(Object groupIdOrPath, int itemsPerPage) throws GitLabApiException
      Get a Pager of visible direct subgroups in this group.
      GitLab Endpoint: GET /groups/:id/subgroups
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path, required
      itemsPerPage - the number of Group instances that will be fetched per page
      Returns:
      a Pager containing matching Group instances
      Throws:
      GitLabApiException - if any exception occurs
      Since:
      GitLab 10.3.0
    • getSubGroupsStream

      public Stream<Group> getSubGroupsStream​(Object groupIdOrPath) throws GitLabApiException
      Get a Stream of visible direct subgroups in this group.
      GitLab Endpoint: GET /groups/:id/subgroups
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path, required
      Returns:
      a Stream<Group> containing the group's sub-groups
      Throws:
      GitLabApiException - if any exception occurs
      Since:
      GitLab 10.3.0
    • getSubGroups

      public List<Group> getSubGroups​(Object groupIdOrPath, List<Integer> skipGroups, Boolean allAvailable, String search, Constants.GroupOrderBy orderBy, Constants.SortOrder sortOrder, Boolean statistics, Boolean owned) throws GitLabApiException
      Get a list of visible direct subgroups in this group.
      GitLab Endpoint: GET /groups/:id/subgroups
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path, required
      skipGroups - skip the group IDs passed
      allAvailable - show all the groups you have access to (defaults to false for authenticated users)
      search - return the list of authorized groups matching the search criteria
      orderBy - order groups by NAME or PATH. Default is NAME
      sortOrder - order groups in ASC or DESC order. Default is ASC
      statistics - include group statistics (admins only)
      owned - limit to groups owned by the current user
      Returns:
      a List<Group> of the matching subgroups
      Throws:
      GitLabApiException - if any exception occurs
      Since:
      GitLab 10.3.0
    • getSubGroups

      public List<Group> getSubGroups​(Object groupIdOrPath, List<Integer> skipGroups, Boolean allAvailable, String search, Constants.GroupOrderBy orderBy, Constants.SortOrder sortOrder, Boolean statistics, Boolean owned, int page, int perPage) throws GitLabApiException
      Get a list of visible direct subgroups in this group.
      GitLab Endpoint: GET /groups/:id/subgroups
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path, required
      skipGroups - skip the group IDs passed
      allAvailable - show all the groups you have access to (defaults to false for authenticated users)
      search - return the list of authorized groups matching the search criteria
      orderBy - order groups by NAME or PATH. Default is NAME
      sortOrder - order groups in ASC or DESC order. Default is ASC
      statistics - include group statistics (admins only)
      owned - limit to groups owned by the current user
      page - the page to get
      perPage - the number of Group instances per page
      Returns:
      a List<Group> of the matching subgroups
      Throws:
      GitLabApiException - if any exception occurs
      Since:
      GitLab 10.3.0
    • getSubGroups

      public Pager<Group> getSubGroups​(Object groupIdOrPath, List<Integer> skipGroups, Boolean allAvailable, String search, Constants.GroupOrderBy orderBy, Constants.SortOrder sortOrder, Boolean statistics, Boolean owned, int itemsPerPage) throws GitLabApiException
      Get a Pager of visible direct subgroups in this group.
      GitLab Endpoint: GET /groups/:id/subgroups
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path, required
      skipGroups - skip the group IDs passed
      allAvailable - show all the groups you have access to (defaults to false for authenticated users)
      search - return the list of authorized groups matching the search criteria
      orderBy - order groups by NAME or PATH. Default is NAME
      sortOrder - order groups in ASC or DESC order. Default is ASC
      statistics - include group statistics (admins only)
      owned - limit to groups owned by the current user
      itemsPerPage - the number of Group instances that will be fetched per page
      Returns:
      a Pager containing matching Group instances
      Throws:
      GitLabApiException - if any exception occurs
      Since:
      GitLab 10.3.0
    • getSubGroupsStream

      public Stream<Group> getSubGroupsStream​(Object groupIdOrPath, List<Integer> skipGroups, Boolean allAvailable, String search, Constants.GroupOrderBy orderBy, Constants.SortOrder sortOrder, Boolean statistics, Boolean owned) throws GitLabApiException
      Get a Stream of visible direct subgroups in this group.
      GitLab Endpoint: GET /groups/:id/subgroups
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path, required
      skipGroups - skip the group IDs passed
      allAvailable - show all the groups you have access to (defaults to false for authenticated users)
      search - return the list of authorized groups matching the search criteria
      orderBy - order groups by NAME or PATH. Default is NAME
      sortOrder - order groups in ASC or DESC order. Default is ASC
      statistics - include group statistics (admins only)
      owned - limit to groups owned by the current user
      Returns:
      a Stream<Group> of the matching subgroups
      Throws:
      GitLabApiException - if any exception occurs
      Since:
      GitLab 10.3.0
    • getProjects

      public List<Project> getProjects​(Object groupIdOrPath, GroupProjectsFilter filter) throws GitLabApiException
      Get a list of projects belonging to the specified group ID and filter.
      GitLab Endpoint: GET /groups/:id/projects
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      filter - the GroupProjectsFilter instance holding the filter values for the query
      Returns:
      a List containing Project instances that belong to the group and match the provided filter
      Throws:
      GitLabApiException - if any exception occurs
    • getProjects

      public Pager<Project> getProjects​(Object groupIdOrPath, GroupProjectsFilter filter, int itemsPerPage) throws GitLabApiException
      Get a Pager of projects belonging to the specified group ID and filter.
      GitLab Endpoint: GET /groups/:id/projects
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      filter - the GroupProjectsFilter instance holding the filter values for the query
      itemsPerPage - the number of Project instances that will be fetched per page
      Returns:
      a Pager containing Project instances that belong to the group and match the provided filter
      Throws:
      GitLabApiException - if any exception occurs
    • getProjectsStream

      public Stream<Project> getProjectsStream​(Object groupIdOrPath, GroupProjectsFilter filter) throws GitLabApiException
      Get a Stream of projects belonging to the specified group ID and filter.
      GitLab Endpoint: GET /groups/:id/projects
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      filter - the GroupProjectsFilter instance holding the filter values for the query
      Returns:
      a Stream containing Project instances that belong to the group and match the provided filter
      Throws:
      GitLabApiException - if any exception occurs
    • getProjects

      public List<Project> getProjects​(Object groupIdOrPath) throws GitLabApiException
      Get a list of projects belonging to the specified group ID.
      GitLab Endpoint: GET /groups/:id/projects
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      Returns:
      a list of projects belonging to the specified group ID
      Throws:
      GitLabApiException - if any exception occurs
    • getProjects

      public List<Project> getProjects​(Object groupIdOrPath, int page, int perPage) throws GitLabApiException
      Get a list of projects belonging to the specified group ID in the specified page range.
      GitLab Endpoint: GET /groups/:id/projects
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      page - the page to get
      perPage - the number of Project instances per page
      Returns:
      a list of projects belonging to the specified group ID in the specified page range
      Throws:
      GitLabApiException - if any exception occurs
    • getProjects

      public Pager<Project> getProjects​(Object groupIdOrPath, int itemsPerPage) throws GitLabApiException
      Get a Pager of projects belonging to the specified group ID.
      GitLab Endpoint: GET /groups/:id/projects
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      itemsPerPage - the number of Project instances that will be fetched per page
      Returns:
      a Pager of projects belonging to the specified group ID
      Throws:
      GitLabApiException - if any exception occurs
    • getProjectsStream

      public Stream<Project> getProjectsStream​(Object groupIdOrPath) throws GitLabApiException
      Get a Stream of projects belonging to the specified group ID.
      GitLab Endpoint: GET /groups/:id/projects
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      Returns:
      a Stream of projects belonging to the specified group ID
      Throws:
      GitLabApiException - if any exception occurs
    • getGroup

      public Group getGroup​(Object groupIdOrPath) throws GitLabApiException
      Get all details of a group.
      GitLab Endpoint: GET /groups/:id
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      Returns:
      the Group instance for the specified group path
      Throws:
      GitLabApiException - if any exception occurs
    • getOptionalGroup

      public Optional<Group> getOptionalGroup​(Object groupIdOrPath)
      Get all details of a group as an Optional instance.
      GitLab Endpoint: GET /groups/:id
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      Returns:
      the Group for the specified group path as an Optional instance
    • createGroup

      public Group createGroup​(GroupParams params) throws GitLabApiException
      Creates a new project group. Available only for users who can create groups.
      GitLab Endpoint: POST /groups
      Parameters:
      params - a GroupParams instance holding the parameters for the group creation
      Returns:
      the created Group instance
      Throws:
      GitLabApiException - if any exception occurs
    • updateGroup

      public Group updateGroup​(Object groupIdOrPath, GroupParams params) throws GitLabApiException
      Updates the project group. Only available to group owners and administrators.
      GitLab Endpoint: PUT /groups
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      params - the GroupParams instance holding the properties to update
      Returns:
      updated Group instance
      Throws:
      GitLabApiException - at any exception
    • addGroup

      public Group addGroup​(String name, String path) throws GitLabApiException
      Creates a new project group. Available only for users who can create groups.
      GitLab Endpoint: POST /groups
      Parameters:
      name - the name of the group to add
      path - the path for the group
      Returns:
      the created Group instance
      Throws:
      GitLabApiException - if any exception occurs
    • addGroup

      public Group addGroup​(Group group) throws GitLabApiException
      Throws:
      GitLabApiException
    • addGroup

      public Group addGroup​(String name, String path, String description, Visibility visibility, Boolean lfsEnabled, Boolean requestAccessEnabled, Integer parentId) throws GitLabApiException
      Creates a new project group. Available only for users who can create groups.
      GitLab Endpoint: POST /groups
      Parameters:
      name - the name of the group to add
      path - the path for the group
      description - (optional) - The group's description
      visibility - (optional) - The group's visibility. Can be private, internal, or public.
      lfsEnabled - (optional) - Enable/disable Large File Storage (LFS) for the projects in this group
      requestAccessEnabled - (optional) - Allow users to request member access
      parentId - (optional) - The parent group id for creating nested group
      Returns:
      the created Group instance
      Throws:
      GitLabApiException - if any exception occurs
    • updateGroup

      public Group updateGroup​(Group group) throws GitLabApiException
      Updates a project group. Available only for users who can create groups.
      GitLab Endpoint: PUT /groups
      Parameters:
      group - to update
      Returns:
      updated group instance
      Throws:
      GitLabApiException - at any exception
    • updateGroup

      public Group updateGroup​(Object groupIdOrPath, String name, String path, String description, Visibility visibility, Boolean lfsEnabled, Boolean requestAccessEnabled, Integer parentId) throws GitLabApiException
      Updates a project group. Available only for users who can create groups.
      GitLab Endpoint: PUT /groups
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      name - the name of the group to add
      path - the path for the group
      description - (optional) - The group's description
      visibility - (optional) - The group's visibility. Can be private, internal, or public.
      lfsEnabled - (optional) - Enable/disable Large File Storage (LFS) for the projects in this group
      requestAccessEnabled - (optional) - Allow users to request member access
      parentId - (optional) - The parent group id for creating nested group
      Returns:
      the updated Group instance
      Throws:
      GitLabApiException - if any exception occurs
    • addGroup

      public Group addGroup​(String name, String path, String description, Boolean membershipLock, Boolean shareWithGroupLock, Visibility visibility, Boolean lfsEnabled, Boolean requestAccessEnabled, Integer parentId, Integer sharedRunnersMinutesLimit) throws GitLabApiException
      Deprecated.
      Creates a new project group. Available only for users who can create groups.
      GitLab Endpoint: POST /groups
      Parameters:
      name - the name of the group to add
      path - the path for the group
      description - (optional) - The group's description
      membershipLock - (optional, boolean) - Prevent adding new members to project membership within this group
      shareWithGroupLock - (optional, boolean) - Prevent sharing a project with another group within this group
      visibility - (optional) - The group's visibility. Can be private, internal, or public.
      lfsEnabled - (optional) - Enable/disable Large File Storage (LFS) for the projects in this group
      requestAccessEnabled - (optional) - Allow users to request member access.
      parentId - (optional) - The parent group id for creating nested group.
      sharedRunnersMinutesLimit - (optional) - (admin-only) Pipeline minutes quota for this group
      Returns:
      the created Group instance
      Throws:
      GitLabApiException - if any exception occurs
    • updateGroup

      public Group updateGroup​(Object groupIdOrPath, String name, String path, String description, Boolean membershipLock, Boolean shareWithGroupLock, Visibility visibility, Boolean lfsEnabled, Boolean requestAccessEnabled, Integer parentId, Integer sharedRunnersMinutesLimit) throws GitLabApiException
      Deprecated.
      Updates a project group. Available only for users who can create groups.
      GitLab Endpoint: PUT /groups
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      name - the name of the group to add
      path - the path for the group
      description - (optional) - The group's description
      membershipLock - (optional, boolean) - Prevent adding new members to project membership within this group
      shareWithGroupLock - (optional, boolean) - Prevent sharing a project with another group within this group
      visibility - (optional) - The group's visibility. Can be private, internal, or public.
      lfsEnabled - (optional) - Enable/disable Large File Storage (LFS) for the projects in this group
      requestAccessEnabled - (optional) - Allow users to request member access
      parentId - (optional) - The parent group id for creating nested group
      sharedRunnersMinutesLimit - (optional) - (admin-only) Pipeline minutes quota for this group
      Returns:
      the updated Group instance
      Throws:
      GitLabApiException - if any exception occurs
    • deleteGroup

      public void deleteGroup​(Object groupIdOrPath) throws GitLabApiException
      Removes group with all projects inside.
      GitLab Endpoint: DELETE /groups/:id
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      Throws:
      GitLabApiException - if any exception occurs
    • getMembers

      public List<Member> getMembers​(Object groupIdOrPath) throws GitLabApiException
      Get a list of group members viewable by the authenticated user.
      GitLab Endpoint: GET /groups/:id/members
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      Returns:
      a list of group members viewable by the authenticated user
      Throws:
      GitLabApiException - if any exception occurs
    • getMembers

      public List<Member> getMembers​(Object groupIdOrPath, int page, int perPage) throws GitLabApiException
      Get a list of group members viewable by the authenticated user in the specified page range.
      GitLab Endpoint: GET /groups/:id/members
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      page - the page to get
      perPage - the number of Member instances per page
      Returns:
      a list of group members viewable by the authenticated user in the specified page range
      Throws:
      GitLabApiException - if any exception occurs
    • getMembers

      public Pager<Member> getMembers​(Object groupIdOrPath, int itemsPerPage) throws GitLabApiException
      Get a Pager of group members viewable by the authenticated user.
      GitLab Endpoint: GET /groups/:id/members
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      itemsPerPage - the number of Member instances that will be fetched per page
      Returns:
      a list of group members viewable by the authenticated user
      Throws:
      GitLabApiException - if any exception occurs
    • getMembersStream

      public Stream<Member> getMembersStream​(Object groupIdOrPath) throws GitLabApiException
      Get a Stream of group members viewable by the authenticated user.
      GitLab Endpoint: GET /groups/:id/members
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      Returns:
      a Stream of group members viewable by the authenticated user
      Throws:
      GitLabApiException - if any exception occurs
    • getMember

      public Member getMember​(Object groupIdOrPath, int userId) throws GitLabApiException
      Get a group member viewable by the authenticated user.
      GitLab Endpoint: GET /groups/:id/members/:id
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      userId - the member ID of the member to get
      Returns:
      a member viewable by the authenticated user
      Throws:
      GitLabApiException - if any exception occurs
    • getOptionalMember

      public Optional<Member> getOptionalMember​(Object groupIdOrPath, int userId)
      Get a group member viewable by the authenticated user as an Optional instance.
      GitLab Endpoint: GET /groups/:id/members/:id
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      userId - the member ID of the member to get
      Returns:
      a member viewable by the authenticated user as an Optional instance
    • getMember

      public Member getMember​(Object groupIdOrPath, Integer userId, Boolean includeInherited) throws GitLabApiException
      Gets a group team member, optionally including inherited member.
      GitLab Endpoint: GET /groups/:id/members/all/:user_id
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      userId - the user ID of the member
      includeInherited - if true will the member even if inherited thru an ancestor group
      Returns:
      the member specified by the project ID/user ID pair
      Throws:
      GitLabApiException - if any exception occurs
    • getOptionalMember

      public Optional<Member> getOptionalMember​(Object groupIdOrPath, Integer userId, Boolean includeInherited)
      Gets a group team member, optionally including inherited member.
      GitLab Endpoint: GET /groups/:id/members/all/:user_id
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      userId - the user ID of the member
      includeInherited - if true will the member even if inherited thru an ancestor group
      Returns:
      the member specified by the group ID/user ID pair as the value of an Optional
    • getAllMembers

      public List<Member> getAllMembers​(Object groupIdOrPath) throws GitLabApiException
      Gets a list of group members viewable by the authenticated user, including inherited members through ancestor groups. Returns multiple times the same user (with different member attributes) when the user is a member of the group and of one or more ancestor group.
      GitLab Endpoint: GET /groups/:id/members/all
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      Returns:
      a list of group members viewable by the authenticated user, including inherited members through ancestor groups
      Throws:
      GitLabApiException - if any exception occurs
    • getAllMembers

      @Deprecated public List<Member> getAllMembers​(Object groupIdOrPath, int page, int perPage) throws GitLabApiException
      Deprecated.
      Will be removed in version 5.0
      Gets a list of group members viewable by the authenticated user, including inherited members through ancestor groups. Returns multiple times the same user (with different member attributes) when the user is a member of the group and of one or more ancestor group.
      GitLab Endpoint: GET /groups/:id/members/all
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      page - the page to get
      perPage - the number of Member instances per page
      Returns:
      a list of group members viewable by the authenticated user, including inherited members through ancestor groups in the specified page range
      Throws:
      GitLabApiException - if any exception occurs
    • getAllMembers

      public Pager<Member> getAllMembers​(Object groupIdOrPath, int itemsPerPage) throws GitLabApiException
      Gets a Pager of group members viewable by the authenticated user, including inherited members through ancestor groups. Returns multiple times the same user (with different member attributes) when the user is a member of the group and of one or more ancestor group.
      GitLab Endpoint: GET /groups/:id/members/all
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      itemsPerPage - the number of Member instances that will be fetched per page
      Returns:
      a Pager of group members viewable by the authenticated user, including inherited members through ancestor groups
      Throws:
      GitLabApiException - if any exception occurs
    • getAllMembersStream

      public Stream<Member> getAllMembersStream​(Object groupIdOrPath) throws GitLabApiException
      Gets a Stream of group members viewable by the authenticated user, including inherited members through ancestor groups. Returns multiple times the same user (with different member attributes) when the user is a member of the group and of one or more ancestor group.
      GitLab Endpoint: GET /groups/:id/members/all
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      Returns:
      a Stream of group members viewable by the authenticated user, including inherited members through ancestor groups
      Throws:
      GitLabApiException - if any exception occurs
    • getAllMembers

      public List<Member> getAllMembers​(Object groupIdOrPath, String query, List<Integer> userIds) throws GitLabApiException
      Gets a list of group members viewable by the authenticated user, including inherited members through ancestor groups. Returns multiple times the same user (with different member attributes) when the user is a member of the group and of one or more ancestor group.
      GitLab Endpoint: GET /groups/:id/members/all
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      query - a query string to search for members
      userIds - filter the results on the given user IDs
      Returns:
      the group members viewable by the authenticated user, including inherited members through ancestor groups
      Throws:
      GitLabApiException - if any exception occurs
    • getAllMembers

      public Pager<Member> getAllMembers​(Object groupIdOrPath, String query, List<Integer> userIds, int itemsPerPage) throws GitLabApiException
      Gets a Pager of group members viewable by the authenticated user, including inherited members through ancestor groups. Returns multiple times the same user (with different member attributes) when the user is a member of the group and of one or more ancestor group.
      GitLab Endpoint: GET /groups/:id/members/all
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      query - a query string to search for members
      userIds - filter the results on the given user IDs
      itemsPerPage - the number of Project instances that will be fetched per page
      Returns:
      a Pager of the group members viewable by the authenticated user, including inherited members through ancestor groups
      Throws:
      GitLabApiException - if any exception occurs
    • getAllMembersStream

      public Stream<Member> getAllMembersStream​(Object groupIdOrPath, String query, List<Integer> userIds) throws GitLabApiException
      Gets a Stream of group members viewable by the authenticated user, including inherited members through ancestor groups. Returns multiple times the same user (with different member attributes) when the user is a member of the group and of one or more ancestor group.
      GitLab Endpoint: GET /groups/:id/members/all
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      query - a query string to search for members
      userIds - filter the results on the given user IDs
      Returns:
      a Stream of the group members viewable by the authenticated user, including inherited members through ancestor groups
      Throws:
      GitLabApiException - if any exception occurs
    • addMember

      public Member addMember​(Object groupIdOrPath, Integer userId, Integer accessLevel) throws GitLabApiException
      Adds a user to the list of group members.
      GitLab Endpoint: POST /groups/:id/members
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      userId - the user ID of the member to add, required
      accessLevel - the access level for the new member, required
      Returns:
      a Member instance for the added user
      Throws:
      GitLabApiException - if any exception occurs
    • addMember

      public Member addMember​(Object groupIdOrPath, Integer userId, AccessLevel accessLevel) throws GitLabApiException
      Adds a user to the list of group members.
      GitLab Endpoint: POST /groups/:id/members
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      userId - the user ID of the member to add, required
      accessLevel - the access level for the new member, required
      Returns:
      a Member instance for the added user
      Throws:
      GitLabApiException - if any exception occurs
    • addMember

      public Member addMember​(Object groupIdOrPath, Integer userId, AccessLevel accessLevel, Date expiresAt) throws GitLabApiException
      Adds a user to the list of group members.
      GitLab Endpoint: POST /groups/:id/members
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path, required
      userId - the user ID of the member to add, required
      accessLevel - the access level for the new member, required
      expiresAt - the date the membership in the group will expire, optional
      Returns:
      a Member instance for the added user
      Throws:
      GitLabApiException - if any exception occurs
    • addMember

      public Member addMember​(Object groupIdOrPath, Integer userId, Integer accessLevel, Date expiresAt) throws GitLabApiException
      Adds a user to the list of group members.
      GitLab Endpoint: POST /groups/:id/members
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path, required
      userId - the user ID of the member to add, required
      accessLevel - the access level for the new member, required
      expiresAt - the date the membership in the group will expire, optional
      Returns:
      a Member instance for the added user
      Throws:
      GitLabApiException - if any exception occurs
    • updateMember

      public Member updateMember​(Object groupIdOrPath, Integer userId, Integer accessLevel) throws GitLabApiException
      Updates a member of a group.
      GitLab Endpoint: PUT /groups/:groupId/members/:userId
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path, required
      userId - the user ID of the member to update, required
      accessLevel - the new access level for the member, required
      Returns:
      the updated member
      Throws:
      GitLabApiException - if any exception occurs
    • updateMember

      public Member updateMember​(Object groupIdOrPath, Integer userId, AccessLevel accessLevel) throws GitLabApiException
      Updates a member of a group.
      GitLab Endpoint: PUT /groups/:groupId/members/:userId
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path, required
      userId - the user ID of the member to update, required
      accessLevel - the new access level for the member, required
      Returns:
      the updated member
      Throws:
      GitLabApiException - if any exception occurs
    • updateMember

      public Member updateMember​(Object groupIdOrPath, Integer userId, AccessLevel accessLevel, Date expiresAt) throws GitLabApiException
      Updates a member of a group.
      GitLab Endpoint: PUT /groups/:groupId/members/:userId
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path, required
      userId - the user ID of the member to update, required
      accessLevel - the new access level for the member, required
      expiresAt - the date the membership in the group will expire, optional
      Returns:
      the updated member
      Throws:
      GitLabApiException - if any exception occurs
    • updateMember

      public Member updateMember​(Object groupIdOrPath, Integer userId, Integer accessLevel, Date expiresAt) throws GitLabApiException
      Updates a member of a group.
      GitLab Endpoint: PUT /groups/:groupId/members/:userId
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path, required
      userId - the user ID of the member to update, required
      accessLevel - the new access level for the member, required
      expiresAt - the date the membership in the group will expire, optional
      Returns:
      the updated member
      Throws:
      GitLabApiException - if any exception occurs
    • removeMember

      public void removeMember​(Object groupIdOrPath, Integer userId) throws GitLabApiException
      Removes member from the group.
      GitLab Endpoint: DELETE /groups/:id/members/:user_id
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path, required
      userId - the user ID of the member to remove
      Throws:
      GitLabApiException - if any exception occurs
    • ldapSync

      public void ldapSync​(Object groupIdOrPath) throws GitLabApiException
      Syncs the group with its linked LDAP group. Only available to group owners and administrators.
      GitLab Endpoint: POST /groups/:id/ldap_sync
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      Throws:
      GitLabApiException - if any exception occurs
    • addLdapGroupLink

      public void addLdapGroupLink​(Object groupIdOrPath, String cn, AccessLevel groupAccess, String provider) throws GitLabApiException
      Adds an LDAP group link.
      GitLab Endpoint: POST /groups/:id/ldap_group_links
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      cn - the CN of a LDAP group
      groupAccess - the minimum access level for members of the LDAP group
      provider - the LDAP provider for the LDAP group
      Throws:
      GitLabApiException - if any exception occurs
    • addLdapGroupLink

      public void addLdapGroupLink​(Object groupIdOrPath, String cn, Integer groupAccess, String provider) throws GitLabApiException
      Adds an LDAP group link.
      GitLab Endpoint: POST /groups/:id/ldap_group_links
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      cn - the CN of a LDAP group
      groupAccess - the minimum access level for members of the LDAP group
      provider - the LDAP provider for the LDAP group
      Throws:
      GitLabApiException - if any exception occurs
    • deleteLdapGroupLink

      public void deleteLdapGroupLink​(Object groupIdOrPath, String cn) throws GitLabApiException
      Deletes an LDAP group link.
      GitLab Endpoint: DELETE /groups/:id/ldap_group_links/:cn
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      cn - the CN of the LDAP group link to delete
      Throws:
      GitLabApiException - if any exception occurs
    • deleteLdapGroupLink

      public void deleteLdapGroupLink​(Object groupIdOrPath, String cn, String provider) throws GitLabApiException
      Deletes an LDAP group link for a specific LDAP provider.
      GitLab Endpoint: DELETE /groups/:id/ldap_group_links/:provider/:cn
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      cn - the CN of the LDAP group link to delete
      provider - the name of the LDAP provider
      Throws:
      GitLabApiException - if any exception occurs
    • getVariables

      public List<Variable> getVariables​(Object groupIdOrPath) throws GitLabApiException
      Get list of a group’s variables.
      GitLab Endpoint: GET /groups/:id/variables
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      Returns:
      a list of variables belonging to the specified group
      Throws:
      GitLabApiException - if any exception occurs
    • getVariables

      public List<Variable> getVariables​(Object groupIdOrPath, int page, int perPage) throws GitLabApiException
      Get a list of variables for the specified group in the specified page range.
      GitLab Endpoint: GET /groups/:id/variables
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      page - the page to get
      perPage - the number of Variable instances per page
      Returns:
      a list of variables belonging to the specified group in the specified page range
      Throws:
      GitLabApiException - if any exception occurs
    • getVariables

      public Pager<Variable> getVariables​(Object groupIdOrPath, int itemsPerPage) throws GitLabApiException
      Get a Pager of variables belonging to the specified group.
      GitLab Endpoint: GET /groups/:id/variables
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      itemsPerPage - the number of Variable instances that will be fetched per page
      Returns:
      a Pager of variables belonging to the specified group
      Throws:
      GitLabApiException - if any exception occurs
    • getVariablesStream

      public Stream<Variable> getVariablesStream​(Object groupIdOrPath) throws GitLabApiException
      Get a Stream of variables belonging to the specified group.
      GitLab Endpoint: GET /groups/:id/variables
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      Returns:
      a Stream of variables belonging to the specified group
      Throws:
      GitLabApiException - if any exception occurs
    • getVariable

      public Variable getVariable​(Object groupIdOrPath, String key) throws GitLabApiException
      Get the details of a group variable.
      GitLab Endpoint: GET /groups/:id/variables/:key
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      key - the key of an existing variable, required
      Returns:
      the Variable instance for the specified group variable
      Throws:
      GitLabApiException - if any exception occurs
    • getOptionalVariable

      public Optional<Variable> getOptionalVariable​(Object groupIdOrPath, String key)
      Get the details of a group variable as an Optional instance.
      GitLab Endpoint: GET /groups/:id/variables/:key
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      key - the key of an existing variable, required
      Returns:
      the Variable for the specified group variable as an Optional instance
    • createVariable

      public Variable createVariable​(Object groupIdOrPath, String key, String value, Boolean isProtected) throws GitLabApiException
      Create a new group variable.
      GitLab Endpoint: POST /groups/:id/variables
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path, required
      key - the key of a variable; must have no more than 255 characters; only A-Z, a-z, 0-9, and _ are allowed, required
      value - the value for the variable, required
      isProtected - whether the variable is protected, optional
      Returns:
      a Variable instance with the newly created variable
      Throws:
      GitLabApiException - if any exception occurs during execution
    • createVariable

      public Variable createVariable​(Object groupIdOrPath, String key, String value, Boolean isProtected, Boolean masked) throws GitLabApiException
      Create a new group variable.
      GitLab Endpoint: POST /groups/:id/variables
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path, required
      key - the key of a variable; must have no more than 255 characters; only A-Z, a-z, 0-9, and _ are allowed, required
      value - the value for the variable, required
      isProtected - whether the variable is protected, optional
      masked - whether the variable is masked, optional
      Returns:
      a Variable instance with the newly created variable
      Throws:
      GitLabApiException - if any exception occurs during execution
    • updateVariable

      public Variable updateVariable​(Object groupIdOrPath, String key, String value, Boolean isProtected) throws GitLabApiException
      Update a group variable.
      GitLab Endpoint: PUT /groups/:id/variables/:key
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path, required
      key - the key of an existing variable, required
      value - the value for the variable, required
      isProtected - whether the variable is protected, optional
      Returns:
      a Variable instance with the updated variable
      Throws:
      GitLabApiException - if any exception occurs during execution
    • updateVariable

      public Variable updateVariable​(Object groupIdOrPath, String key, String value, Boolean isProtected, Boolean masked) throws GitLabApiException
      Update a group variable.
      GitLab Endpoint: PUT /groups/:id/variables/:key
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path, required
      key - the key of an existing variable, required
      value - the value for the variable, required
      isProtected - whether the variable is protected, optional
      masked - whether the variable is masked, optional
      Returns:
      a Variable instance with the updated variable
      Throws:
      GitLabApiException - if any exception occurs during execution
    • deleteVariable

      public void deleteVariable​(Object groupIdOrPath, String key) throws GitLabApiException
      Deletes a group variable.
      GitLab Endpoint: DELETE /groups/:id/variables/:key
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path, required
      key - the key of an existing variable, required
      Throws:
      GitLabApiException - if any exception occurs
    • transferProject

      public Project transferProject​(Object groupIdOrPath, Object projectIdOrPath) throws GitLabApiException
      Transfer a project to the Group namespace. Available only for admin users.
      GitLab Endpoint: POST /groups/:id/projects/:project_id
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path, required
      projectIdOrPath - the project in the form of an Integer(ID), String(path), or Project instance, required
      Returns:
      the transferred Project instance
      Throws:
      GitLabApiException - if any exception occurs during execution
    • getAuditEvents

      public List<AuditEvent> getAuditEvents​(Object groupIdOrPath, Date created_after, Date created_before) throws GitLabApiException
      Get a List of the group audit events viewable by Maintainer or an Owner of the group.
      GET /groups/:id/audit_events
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      created_after - Group audit events created on or after the given time.
      created_before - Group audit events created on or before the given time.
      Returns:
      a List of group Audit events
      Throws:
      GitLabApiException - if any exception occurs
    • getAuditEvents

      public Pager<AuditEvent> getAuditEvents​(Object groupIdOrPath, Date created_after, Date created_before, int itemsPerPage) throws GitLabApiException
      Get a Pager of the group audit events viewable by Maintainer or an Owner of the group.
      GET /groups/:id/audit_events
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      created_after - Group audit events created on or after the given time.
      created_before - Group audit events created on or before the given time.
      itemsPerPage - the number of Audit Event instances that will be fetched per page
      Returns:
      a Pager of group Audit events
      Throws:
      GitLabApiException - if any exception occurs
    • getAuditEventsStream

      public Stream<AuditEvent> getAuditEventsStream​(Object groupIdOrPath, Date created_after, Date created_before) throws GitLabApiException
      Get a Stream of the group audit events viewable by Maintainer or an Owner of the group.
      GET /groups/:id/audit_events
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      created_after - Group audit events created on or after the given time.
      created_before - Group audit events created on or before the given time.
      Returns:
      a Stream of group Audit events
      Throws:
      GitLabApiException - if any exception occurs
    • getAuditEvent

      public AuditEvent getAuditEvent​(Object groupIdOrPath, Integer auditEventId) throws GitLabApiException
      Get a specific audit event of a group.
      GitLab Endpoint: GET /groups/:id/audit_events/:id_audit_event
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      auditEventId - the auditEventId, required
      Returns:
      the group Audit event
      Throws:
      GitLabApiException - if any exception occurs
    • getAccessRequests

      public List<AccessRequest> getAccessRequests​(Object groupIdOrPath) throws GitLabApiException
      Get a List of the group access requests viewable by the authenticated user.
      GET /group/:id/access_requests
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      Returns:
      a List of project AccessRequest instances accessible by the authenticated user
      Throws:
      GitLabApiException - if any exception occurs
    • getAccessRequests

      public Pager<AccessRequest> getAccessRequests​(Object groupIdOrPath, int itemsPerPage) throws GitLabApiException
      Get a Pager of the group access requests viewable by the authenticated user.
      GET /groups/:id/access_requests
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      itemsPerPage - the number of AccessRequest instances that will be fetched per page
      Returns:
      a Pager of group AccessRequest instances accessible by the authenticated user
      Throws:
      GitLabApiException - if any exception occurs
    • getAccessRequestsStream

      public Stream<AccessRequest> getAccessRequestsStream​(Object groupIdOrPath) throws GitLabApiException
      Get a Stream of the group access requests viewable by the authenticated user.
      GET /groups/:id/access_requests
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      Returns:
      a Stream of group AccessRequest instances accessible by the authenticated user
      Throws:
      GitLabApiException - if any exception occurs
    • requestAccess

      public AccessRequest requestAccess​(Object groupIdOrPath) throws GitLabApiException
      Requests access for the authenticated user to the specified group.
      POST /groups/:id/access_requests
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      Returns:
      the created AccessRequest instance
      Throws:
      GitLabApiException - if any exception occurs
    • approveAccessRequest

      public AccessRequest approveAccessRequest​(Object groupIdOrPath, Integer userId, AccessLevel accessLevel) throws GitLabApiException
      Approve access for the specified user to the specified group.
      PUT /groups/:id/access_requests/:user_id/approve
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      userId - the user ID to approve access for
      accessLevel - the access level the user is approved for, if null will be developer (30)
      Returns:
      the approved AccessRequest instance
      Throws:
      GitLabApiException - if any exception occurs
    • denyAccessRequest

      public void denyAccessRequest​(Object groupIdOrPath, Integer userId) throws GitLabApiException
      Deny access for the specified user to the specified group.
      DELETE /groups/:id/access_requests/:user_id
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      userId - the user ID to deny access for
      Throws:
      GitLabApiException - if any exception occurs
    • getBadges

      public List<Badge> getBadges​(Object groupIdOrPath) throws GitLabApiException
      Gets a list of a group’s badges and its group badges.
      GitLab Endpoint: GET /groups/:id/badges
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      Returns:
      a List of Badge instances for the specified group
      Throws:
      GitLabApiException - if any exception occurs
    • getBadge

      public Badge getBadge​(Object groupIdOrPath, Integer badgeId) throws GitLabApiException
      Gets a badge of a group.
      GitLab Endpoint: GET /groups/:id/badges/:badge_id
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      badgeId - the ID of the badge to get
      Returns:
      a Badge instance for the specified group/badge ID pair
      Throws:
      GitLabApiException - if any exception occurs
    • getOptionalBadge

      public Optional<Badge> getOptionalBadge​(Object groupIdOrPath, Integer badgeId)
      Get an Optional instance with the value for the specified badge.
      GitLab Endpoint: GET /groups/:id/badges/:badge_id
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      badgeId - the ID of the badge to get
      Returns:
      an Optional instance with the specified badge as the value
    • addBadge

      public Badge addBadge​(Object groupIdOrPath, String linkUrl, String imageUrl) throws GitLabApiException
      Add a badge to a group.
      GitLab Endpoint: POST /groups/:id/badges
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      linkUrl - the URL of the badge link
      imageUrl - the URL of the image link
      Returns:
      a Badge instance for the added badge
      Throws:
      GitLabApiException - if any exception occurs
    • editBadge

      public Badge editBadge​(Object groupIdOrPath, Integer badgeId, String linkUrl, String imageUrl) throws GitLabApiException
      Edit a badge of a group.
      GitLab Endpoint: PUT /groups/:id/badges
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      badgeId - the ID of the badge to get
      linkUrl - the URL of the badge link
      imageUrl - the URL of the image link
      Returns:
      a Badge instance for the editted badge
      Throws:
      GitLabApiException - if any exception occurs
    • removeBadge

      public void removeBadge​(Object groupIdOrPath, Integer badgeId) throws GitLabApiException
      Remove a badge from a group.
      GitLab Endpoint: DELETE /groups/:id/badges/:badge_id
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      badgeId - the ID of the badge to remove
      Throws:
      GitLabApiException - if any exception occurs
    • previewBadge

      public Badge previewBadge​(Object groupIdOrPath, String linkUrl, String imageUrl) throws GitLabApiException
      Returns how the link_url and image_url final URLs would be after resolving the placeholder interpolation.
      GitLab Endpoint: GET /groups/:id/badges/render
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      linkUrl - the URL of the badge link
      imageUrl - the URL of the image link
      Returns:
      a Badge instance for the rendered badge
      Throws:
      GitLabApiException - if any exception occurs
    • setGroupAvatar

      public Group setGroupAvatar​(Object groupIdOrPath, File avatarFile) throws GitLabApiException
      Uploads and sets the project avatar for the specified group.
      GitLab Endpoint: PUT /groups/:id
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      avatarFile - the File instance of the avatar file to upload
      Returns:
      the updated Group instance
      Throws:
      GitLabApiException - if any exception occurs
    • shareGroup

      public Group shareGroup​(Object groupIdOrPath, Integer shareWithGroupId, AccessLevel groupAccess, Date expiresAt) throws GitLabApiException
      Share group with another group. Returns 200 and the group details on success.
      GitLab Endpoint: POST /groups/:id/share
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      shareWithGroupId - the ID of the group to share with, required
      groupAccess - the access level to grant the group, required
      expiresAt - expiration date of the share, optional
      Returns:
      a Group instance holding the details of the shared group
      Throws:
      GitLabApiException - if any exception occurs
    • unshareGroup

      public void unshareGroup​(Object groupIdOrPath, Integer sharedWithGroupId) throws GitLabApiException
      Unshare the group from another group.
      GitLab Endpoint: DELETE /groups/:id/share/:group_id
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      sharedWithGroupId - the ID of the group to unshare with, required
      Throws:
      GitLabApiException - if any exception occurs