-
Notifications
You must be signed in to change notification settings - Fork 675
Closed
Description
Description of the problem, including code/CLI snippet
Generator for a project packages list does not return the complete list of packages when iterating through them with deletion.
Steps to reproduce:
- Upload more than 20 packages (e.g., 21 packages) to the project
CI_PROJECT_ID - Execute the code snippet to try to delete all the uploaded packages:
import gitlab; from os import environ as env gl = gitlab.Gitlab(url=env['CI_SERVER_URL'], private_token=env['API_TOKEN']) project = gl.projects.get(env['CI_PROJECT_ID']) pkgs = project.packages.list(iterator=True) for pkg in pkgs: pkg.delete(); print("Deleted package name=", pkg.name, " version=", pkg.version, sep='');
Notes:
- According to the doc, using generator
list(iterator=True)is the recommended way to iterate through a large number of items. - Returning the complete list with
list(get_all=True)works as expected. - If iterating using generator
list(iterator=True)without deletion, generator returns the complete list, as expected.
Expected Behavior
Output:
Deleted package name=test version=1.1
Deleted package name=test version=1.2
Deleted package name=test version=1.3
Deleted package name=test version=1.4
Deleted package name=test version=1.5
Deleted package name=test version=1.6
Deleted package name=test version=1.7
Deleted package name=test version=1.8
Deleted package name=test version=1.9
Deleted package name=test version=1.10
Deleted package name=test version=1.11
Deleted package name=test version=1.12
Deleted package name=test version=1.13
Deleted package name=test version=1.14
Deleted package name=test version=1.15
Deleted package name=test version=1.16
Deleted package name=test version=1.17
Deleted package name=test version=1.18
Deleted package name=test version=1.19
Deleted package name=test version=1.20
Deleted package name=test version=1.21
Actual Behavior
Output:
Deleted package name=test version=1.1
Deleted package name=test version=1.2
Deleted package name=test version=1.3
Deleted package name=test version=1.4
Deleted package name=test version=1.5
Deleted package name=test version=1.6
Deleted package name=test version=1.7
Deleted package name=test version=1.8
Deleted package name=test version=1.9
Deleted package name=test version=1.10
Deleted package name=test version=1.11
Deleted package name=test version=1.12
Deleted package name=test version=1.13
Deleted package name=test version=1.14
Deleted package name=test version=1.15
Deleted package name=test version=1.16
Deleted package name=test version=1.17
Deleted package name=test version=1.18
Deleted package name=test version=1.19
Deleted package name=test version=1.20
Specifications
- python-gitlab version: 3.8.0
- API version you are using (v3/v4): v4
- Gitlab server version (or gitlab.com): 14.8.6