11
11
12
12
13
13
class Gitlab (object ):
14
- def __init__ (self , host , token = "" ):
14
+ def __init__ (self , host , token = "" , version = 5 ):
15
15
if token != "" :
16
16
self .token = token
17
17
self .headers = {"PRIVATE-TOKEN" : self .token }
@@ -20,6 +20,7 @@ def __init__(self, host, token=""):
20
20
self .users_url = self .host + "/api/v3/users"
21
21
self .keys_url = self .host + "/api/v3/user/keys"
22
22
self .groups_url = self .host + "/api/v3/groups"
23
+ self .version = version
23
24
24
25
def login (self , email , password ):
25
26
data = {"email" : email , "password" : password }
@@ -252,7 +253,7 @@ def getProjectEvents(self, id_):
252
253
def createProject (self , name , description = "" , default_branch = "" ,
253
254
issues_enabled = "" , wall_enabled = "" ,
254
255
merge_requests_enabled = "" , wiki_enabled = "" ,
255
- snippets_enabled = "" ):
256
+ snippets_enabled = "" , public = "" ):
256
257
"""
257
258
Create a project
258
259
:param name: Obligatory
@@ -265,6 +266,11 @@ def createProject(self, name, description="", default_branch="",
265
266
"merge_requests_enabled" : merge_requests_enabled ,
266
267
"wiki_enabled" : wiki_enabled ,
267
268
"snippets_enabled" : snippets_enabled }
269
+
270
+ # if gitlab is the new 6th version, there is a public option for the
271
+ # project creation
272
+ if self .version == 6 :
273
+ data ['public' ] = public
268
274
r = requests .post (self .projects_url , headers = self .headers , data = data )
269
275
if r .status_code == 201 :
270
276
return json .loads (r .content )
0 commit comments