@@ -1308,6 +1308,17 @@ class GroupProjectManager(ListMixin, RESTManager):
1308
1308
)
1309
1309
1310
1310
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
+
1311
1322
class GroupSubgroup (RESTObject ):
1312
1323
pass
1313
1324
@@ -1357,6 +1368,7 @@ class Group(SaveMixin, ObjectDeleteMixin, RESTObject):
1357
1368
("milestones" , "GroupMilestoneManager" ),
1358
1369
("notificationsettings" , "GroupNotificationSettingsManager" ),
1359
1370
("projects" , "GroupProjectManager" ),
1371
+ ("runners" , "GroupRunnerManager" ),
1360
1372
("subgroups" , "GroupSubgroupManager" ),
1361
1373
("variables" , "GroupVariableManager" ),
1362
1374
("clusters" , "GroupClusterManager" ),
@@ -5364,7 +5376,8 @@ def all(self, scope=None, **kwargs):
5364
5376
query_data = {}
5365
5377
if scope is not None :
5366
5378
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 ]
5368
5381
5369
5382
@cli .register_custom_action ("RunnerManager" , ("token" ,))
5370
5383
@exc .on_http_error (exc .GitlabVerifyError )
0 commit comments