@@ -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" ),
@@ -5382,7 +5394,8 @@ def all(self, scope=None, **kwargs):
5382
5394
query_data = {}
5383
5395
if scope is not None :
5384
5396
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 ]
5386
5399
5387
5400
@cli .register_custom_action ("RunnerManager" , ("token" ,))
5388
5401
@exc .on_http_error (exc .GitlabVerifyError )
0 commit comments