summaryrefslogtreecommitdiff
path: root/gitlab/v4/objects.py
diff options
context:
space:
mode:
authorMax Wittig <max.wittig@siemens.com>2020-08-29 12:07:18 +0200
committerGitHub <noreply@github.com>2020-08-29 12:07:18 +0200
commit0f42e32cb756766735c7e277f099030f6b3d8fc7 (patch)
treea11d8c7f96b9dd5689520f1c8d25aa78bbfc54ef /gitlab/v4/objects.py
parenta038e9567fd16259e3ed360ab0defd779e9c3901 (diff)
parenta47dfcd9ded3a0467e83396f21e6dcfa232dfdd7 (diff)
downloadgitlab-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.py61
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"),