You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
group.members.get only working if result is within first 20 #499
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 call https://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 calling GetFromListMixin which ends up calling http_list with no arguments which just returns 20 items. It then compares those id's to the requested one.
Activity
More efficient .get() for group members.