diff --git a/docs/api-objects.rst b/docs/api-objects.rst index 0cc501434..451e411b8 100644 --- a/docs/api-objects.rst +++ b/docs/api-objects.rst @@ -34,6 +34,8 @@ API examples gl_objects/pagesdomains gl_objects/projects gl_objects/runners + gl_objects/repositories + gl_objects/repository_tags gl_objects/search gl_objects/settings gl_objects/snippets diff --git a/docs/gl_objects/repositories.rst b/docs/gl_objects/repositories.rst new file mode 100644 index 000000000..b671fe132 --- /dev/null +++ b/docs/gl_objects/repositories.rst @@ -0,0 +1,28 @@ +##################### +Registry Repositories +##################### + +References +---------- + +* v4 API: + + + :class:`gitlab.v4.objects.ProjectRegistryRepository` + + :class:`gitlab.v4.objects.ProjectRegistryRepositoryManager` + + :attr:`gitlab.v4.objects.Project.registries` + +* Gitlab API: https://docs.gitlab.com/ce/api/container_registry.html + +Examples +-------- + +Get the list of container registry repositories associated with the project:: + + registries = project.registries.list() + +Delete repository:: + + project.registries.delete(id=x) + # or + registry = registries.pop() + registry.delete() diff --git a/docs/gl_objects/repository_tags.rst b/docs/gl_objects/repository_tags.rst new file mode 100644 index 000000000..79bb745d8 --- /dev/null +++ b/docs/gl_objects/repository_tags.rst @@ -0,0 +1,47 @@ +######################## +Registry Repository Tags +######################## + +References +---------- + +* v4 API: + + + :class:`gitlab.v4.objects.ProjectRegistryTag` + + :class:`gitlab.v4.objects.ProjectRegistryTagManager` + + :attr:`gitlab.v4.objects.Repository.tags` + +* Gitlab API: https://docs.gitlab.com/ce/api/container_registry.html + +Examples +-------- + +Get the list of repository tags in given registry:: + + registries = project.registries.list() + registry = registries.pop() + tags = registry.tags.list() + +Get specific tag:: + + registry.tags.get(id=tag_name) + +Delete tag:: + + registry.tags.delete(id=tag_name) + # or + tag = registry.tags.get(id=tag_name) + tag.delete() + +Delete tag in bulk:: + + registry.tags.delete_in_bulk(keep_n=1) + # or + registry.tags.delete_in_bulk(older_than="1m") + # or + registry.tags.delete_in_bulk(name_regex="v.+", keep_n=2) + +.. note:: + + Delete in bulk is asnychronous operation and may take a while. + Refer to: https://docs.gitlab.com/ce/api/container_registry.html#delete-repository-tags-in-bulk