Skip to content

Commit 4943991

Browse files
committed
feat: add group runners api
1 parent 74b3ddc commit 4943991

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

docs/gl_objects/runners.rst

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ Verify a registered runner token::
7878
except GitlabVerifyError:
7979
print("Invalid token")
8080

81-
Project runners
81+
Project/Group runners
8282
===============
8383

8484
Reference
@@ -89,6 +89,9 @@ Reference
8989
+ :class:`gitlab.v4.objects.ProjectRunner`
9090
+ :class:`gitlab.v4.objects.ProjectRunnerManager`
9191
+ :attr:`gitlab.v4.objects.Project.runners`
92+
+ :class:`gitlab.v4.objects.GroupRunner`
93+
+ :class:`gitlab.v4.objects.GroupRunnerManager`
94+
+ :attr:`gitlab.v4.objects.Group.runners`
9295

9396
* GitLab API: https://docs.gitlab.com/ce/api/runners.html
9497

gitlab/v4/objects.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1308,6 +1308,17 @@ class GroupProjectManager(ListMixin, RESTManager):
13081308
)
13091309

13101310

1311+
class GroupRunner(ObjectDeleteMixin, RESTObject):
1312+
pass
1313+
1314+
1315+
class GroupRunnerManager(NoUpdateMixin, RESTManager):
1316+
_path = "/groups/%(group_id)s/runners"
1317+
_obj_cls = GroupRunner
1318+
_from_parent_attrs = {"group_id": "id"}
1319+
_create_attrs = (("runner_id",), tuple())
1320+
1321+
13111322
class GroupSubgroup(RESTObject):
13121323
pass
13131324

@@ -1357,6 +1368,7 @@ class Group(SaveMixin, ObjectDeleteMixin, RESTObject):
13571368
("milestones", "GroupMilestoneManager"),
13581369
("notificationsettings", "GroupNotificationSettingsManager"),
13591370
("projects", "GroupProjectManager"),
1371+
("runners", "GroupRunnerManager"),
13601372
("subgroups", "GroupSubgroupManager"),
13611373
("variables", "GroupVariableManager"),
13621374
("clusters", "GroupClusterManager"),
@@ -5382,7 +5394,8 @@ def all(self, scope=None, **kwargs):
53825394
query_data = {}
53835395
if scope is not None:
53845396
query_data["scope"] = scope
5385-
return self.gitlab.http_list(path, query_data, **kwargs)
5397+
obj = self.gitlab.http_list(path, query_data, **kwargs)
5398+
return [self._obj_cls(self, item) for item in obj]
53865399

53875400
@cli.register_custom_action("RunnerManager", ("token",))
53885401
@exc.on_http_error(exc.GitlabVerifyError)

0 commit comments

Comments
 (0)