Skip to content

Commit 77fa757

Browse files
committed
feat: add group runners api
1 parent 7afc357 commit 77fa757

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"),
@@ -5364,7 +5376,8 @@ def all(self, scope=None, **kwargs):
53645376
query_data = {}
53655377
if scope is not None:
53665378
query_data["scope"] = scope
5367-
return self.gitlab.http_list(path, query_data, **kwargs)
5379+
obj = self.gitlab.http_list(path, query_data, **kwargs)
5380+
return [self._obj_cls(self, item) for item in obj]
53685381

53695382
@cli.register_custom_action("RunnerManager", ("token",))
53705383
@exc.on_http_error(exc.GitlabVerifyError)

0 commit comments

Comments
 (0)