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:
  • 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
    • getDescendantGroups

      public List<Group> getDescendantGroups(Object groupIdOrPath, GroupFilter filter) throws GitLabApiException
      Get a list of visible descendant groups of a given group for the authenticated user using the provided filter.
      GitLab Endpoint: GET /groups/:id/descendant_groups
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path, required
      filter - the GroupFilter to match against
      Returns:
      a List<Group> of the matching groups
      Throws:
      GitLabApiException - if any exception occurs
    • getDescendantGroups

      public Pager<Group> getDescendantGroups(Object groupIdOrPath, GroupFilter filter, int itemsPerPage) throws GitLabApiException
      Get a Pager of visible descendant groups of a given group for the authenticated user using the provided filter.
      GitLab Endpoint: GET /groups/:id/descendant_groups
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path, required
      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
    • getDescendantGroupsStream

      public Stream<Group> getDescendantGroupsStream(Object groupIdOrPath, GroupFilter filter) throws GitLabApiException
      Get a Stream of visible descendant groups of a given group for the authenticated user using the provided filter.
      GitLab Endpoint: GET /groups/:id/descendant_groups
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path, required
      filter - the GroupFilter to match against
      Returns:
      a Stream<Group> of the matching groups
      Throws:
      GitLabApiException - if any exception occurs
    • 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, Long 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, Long 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

      @Deprecated public Group addGroup(String name, String path, String description, Boolean membershipLock, Boolean shareWithGroupLock, Visibility visibility, Boolean lfsEnabled, Boolean requestAccessEnabled, Long 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

      @Deprecated public Group updateGroup(Object groupIdOrPath, String name, String path, String description, Boolean membershipLock, Boolean shareWithGroupLock, Visibility visibility, Boolean lfsEnabled, Boolean requestAccessEnabled, Long 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, long 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, long 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, Long 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, Long 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 6.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<Long> 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<Long> 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<Long> 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, Long 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, Long 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, Long 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, Long 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, Long 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, Long 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, Long 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, Long 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, Long 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 Long(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, Long 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, Long 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, Long 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
    • getBadges

      public List<Badge> getBadges(Object groupIdOrPath, String badgeName) throws GitLabApiException
      Gets a list of a group’s badges, case-sensitively filtered on bagdeName if non-null.
      GitLab Endpoint: GET /groups/:id/badges?name=:name
      Parameters:
      groupIdOrPath - the group ID, path of the group, or a Group instance holding the group ID or path
      badgeName - The name to filter on (case-sensitive), ignored if null.
      Returns:
      All badges of the GitLab item, case insensitively filtered on name.
      Throws:
      GitLabApiException - If any problem is encountered
    • getBadge

      public Badge getBadge(Object groupIdOrPath, Long 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, Long 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
    • addBadge

      public Badge addBadge(Object groupIdOrPath, String name, 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
      name - The name to give the badge (may be null)
      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, Long 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
    • editBadge

      public Badge editBadge(Object groupIdOrPath, Long badgeId, String name, 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 edit
      name - The name of the badge to edit (may be null)
      linkUrl - the URL of the badge link
      imageUrl - the URL of the image link
      Returns:
      a Badge instance for the edited badge
      Throws:
      GitLabApiException - if any exception occurs
    • removeBadge

      public void removeBadge(Object groupIdOrPath, Long 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, Long 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, Long 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
    • getCustomAttributes

      public List<CustomAttribute> getCustomAttributes(Object groupIdOrPath) throws GitLabApiException
      Get all custom attributes for the specified group.
      GitLab Endpoint: GET /groups/:id/custom_attributes
      Parameters:
      groupIdOrPath - the group in the form of an Long(ID), String(path), or Group instance
      Returns:
      a list of group's CustomAttributes
      Throws:
      GitLabApiException - if any exception occurs
    • getCustomAttributes

      public Pager<CustomAttribute> getCustomAttributes(Object groupIdOrPath, int itemsPerPage) throws GitLabApiException
      Get a Pager of custom attributes for the specified group.
      GitLab Endpoint: GET /groups/:id/custom_attributes
      Parameters:
      groupIdOrPath - the group in the form of an Long(ID), String(path), or Group instance
      itemsPerPage - the number of items per page
      Returns:
      a Pager of group's custom attributes
      Throws:
      GitLabApiException - if any exception occurs
    • getCustomAttributesStream

      public Stream<CustomAttribute> getCustomAttributesStream(Object groupIdOrPath) throws GitLabApiException
      Get a Stream of all custom attributes for the specified group.
      GitLab Endpoint: GET /groups/:id/custom_attributes
      Parameters:
      groupIdOrPath - the group in the form of an Long(ID), String(path), or Group instance
      Returns:
      a Stream of group's custom attributes
      Throws:
      GitLabApiException - if any exception occurs
    • getCustomAttribute

      public CustomAttribute getCustomAttribute(Object groupIdOrPath, String key) throws GitLabApiException
      Get a single custom attribute for the specified group.
      GitLab Endpoint: GET /groups/:id/custom_attributes/:key
      Parameters:
      groupIdOrPath - the group in the form of an Long(ID), String(path), or Group instance
      key - the key for the custom attribute
      Returns:
      a CustomAttribute instance for the specified key
      Throws:
      GitLabApiException - if any exception occurs
    • geOptionalCustomAttribute

      public Optional<CustomAttribute> geOptionalCustomAttribute(Object groupIdOrPath, String key)
      Get an Optional instance with the value for a single custom attribute for the specified group.
      GitLab Endpoint: GET /groups/:id/custom_attributes/:key
      Parameters:
      groupIdOrPath - the group in the form of an Long(ID), String(path), or Group instance, required
      key - the key for the custom attribute, required
      Returns:
      an Optional instance with the value for a single custom attribute for the specified group
    • setCustomAttribute

      public CustomAttribute setCustomAttribute(Object groupIdOrPath, String key, String value) throws GitLabApiException
      Set a custom attribute for the specified group. The attribute will be updated if it already exists, or newly created otherwise.
      GitLab Endpoint: PUT /groups/:id/custom_attributes/:key
      Parameters:
      groupIdOrPath - the group in the form of an Long(ID), String(path), or Group instance
      key - the key for the custom attribute
      value - the value for the customAttribute
      Returns:
      a CustomAttribute instance for the updated or created custom attribute
      Throws:
      GitLabApiException - if any exception occurs
    • deleteCustomAttribute

      public void deleteCustomAttribute(Object groupIdOrPath, String key) throws GitLabApiException
      Delete a custom attribute for the specified group.
      GitLab Endpoint: DELETE /groups/:id/custom_attributes/:key
      Parameters:
      groupIdOrPath - the group in the form of an Long(ID), String(path), or Group instance
      key - the key of the custom attribute to delete
      Throws:
      GitLabApiException - if any exception occurs