- Notifications
You must be signed in to change notification settings - Fork675
Description
Description of the problem, including code/CLI snippet
group.members.get(userid) only seems to be working if that userid is within first 20 hits.
Run this on any group with more than 20 members:
group=gl.groups.get('some-group')# iterate over the exhaustive list of members as a generatorformemberingroup.members.list(as_list=False):# so this call should never fail; but it doesgroup.members.get(member.id)
Expected Behavior
Ultimately it should callhttps://docs.gitlab.com/ce/api/members.html#get-a-member-of-a-group-or-project with the exact group id and user id. This would be most efficient.
Alternatively it could call.list() in such a way that it is able to iterate over all results. For example.list(as_list=False) to force a generator to be returned or.list(all=True) to force the exhaustive list to be returned. But again, this is bad if there is a more efficient API to call as linked to above.
Actual Behavior
It ends up callingGetFromListMixin which ends up callinghttp_list with no arguments which just returns 20 items. It then compares those id's to the requested one.
Specifications
- python-gitlab version: 1.3.0
- API version you are using (v3/v4): 4