diff options
author | Max Wittig <max.wittig@siemens.com> | 2020-08-29 12:07:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-29 12:07:18 +0200 |
commit | 0f42e32cb756766735c7e277f099030f6b3d8fc7 (patch) | |
tree | a11d8c7f96b9dd5689520f1c8d25aa78bbfc54ef /gitlab/v4/objects.py | |
parent | a038e9567fd16259e3ed360ab0defd779e9c3901 (diff) | |
parent | a47dfcd9ded3a0467e83396f21e6dcfa232dfdd7 (diff) | |
download | gitlab-0f42e32cb756766735c7e277f099030f6b3d8fc7.tar.gz |
Merge pull request #1160 from python-gitlab/feat/packages-api
Feat: Add support for packages API
Diffstat (limited to 'gitlab/v4/objects.py')
-rw-r--r-- | gitlab/v4/objects.py | 61 |
1 files changed, 56 insertions, 5 deletions
diff --git a/gitlab/v4/objects.py b/gitlab/v4/objects.py index 2a3615f..84fb5c3 100644 --- a/gitlab/v4/objects.py +++ b/gitlab/v4/objects.py @@ -711,8 +711,14 @@ class ProjectDeployTokenManager(ListMixin, CreateMixin, DeleteMixin, RESTManager _from_parent_attrs = {"project_id": "id"} _obj_cls = ProjectDeployToken _create_attrs = ( - ("name", "scopes",), - ("expires_at", "username",), + ( + "name", + "scopes", + ), + ( + "expires_at", + "username", + ), ) @@ -725,8 +731,14 @@ class GroupDeployTokenManager(ListMixin, CreateMixin, DeleteMixin, RESTManager): _from_parent_attrs = {"group_id": "id"} _obj_cls = GroupDeployToken _create_attrs = ( - ("name", "scopes",), - ("expires_at", "username",), + ( + "name", + "scopes", + ), + ( + "expires_at", + "username", + ), ) @@ -1279,6 +1291,23 @@ class GroupNotificationSettingsManager(NotificationSettingsManager): _from_parent_attrs = {"group_id": "id"} +class GroupPackage(RESTObject): + pass + + +class GroupPackageManager(ListMixin, RESTManager): + _path = "/groups/%(group_id)s/packages" + _obj_cls = GroupPackage + _from_parent_attrs = {"group_id": "id"} + _list_filters = ( + "exclude_subgroups", + "order_by", + "sort", + "package_type", + "package_name", + ) + + class GroupProject(RESTObject): pass @@ -1365,6 +1394,7 @@ class Group(SaveMixin, ObjectDeleteMixin, RESTObject): ("mergerequests", "GroupMergeRequestManager"), ("milestones", "GroupMilestoneManager"), ("notificationsettings", "GroupNotificationSettingsManager"), + ("packages", "GroupPackageManager"), ("projects", "GroupProjectManager"), ("runners", "GroupRunnerManager"), ("subgroups", "GroupSubgroupManager"), @@ -2840,6 +2870,22 @@ class ProjectNotificationSettingsManager(NotificationSettingsManager): _from_parent_attrs = {"project_id": "id"} +class ProjectPackage(ObjectDeleteMixin, RESTObject): + pass + + +class ProjectPackageManager(ListMixin, GetMixin, DeleteMixin, RESTManager): + _path = "/projects/%(project_id)s/packages" + _obj_cls = ProjectPackage + _from_parent_attrs = {"project_id": "id"} + _list_filters = ( + "order_by", + "sort", + "package_type", + "package_name", + ) + + class ProjectPagesDomain(SaveMixin, ObjectDeleteMixin, RESTObject): _id_attr = "domain" @@ -4181,7 +4227,11 @@ class ProjectServiceManager(GetMixin, UpdateMixin, DeleteMixin, ListMixin, RESTM ), ), "jira": ( - ("url", "username", "password",), + ( + "url", + "username", + "password", + ), ( "api_url", "active", @@ -4532,6 +4582,7 @@ class Project(SaveMixin, ObjectDeleteMixin, RESTObject): ("milestones", "ProjectMilestoneManager"), ("notes", "ProjectNoteManager"), ("notificationsettings", "ProjectNotificationSettingsManager"), + ("packages", "ProjectPackageManager"), ("pagesdomains", "ProjectPagesDomainManager"), ("pipelines", "ProjectPipelineManager"), ("protectedbranches", "ProjectProtectedBranchManager"), |