8
8
9
9
import getopt
10
10
import os
11
+ import youtrack
11
12
from youtrackutils .fbugz .fbSOAPClient import FBClient
12
13
from youtrack .connection import Connection
13
14
from youtrack import Group , User , Issue , Comment , Link
@@ -60,6 +61,8 @@ def usage():
60
61
YouTrack user password
61
62
-m MAPPING_FILE,
62
63
Path to mapping file that maps columns from csv to YouTrack fields
64
+ -d PROJECT_LEAD_LOGIN
65
+ YouTrack user to set as project lead for imported projects
63
66
64
67
Examples:
65
68
@@ -80,7 +83,7 @@ def usage():
80
83
def main ():
81
84
try :
82
85
params = {}
83
- opts , args = getopt .getopt (sys .argv [1 :], 'hgu:p:m:t:T:' )
86
+ opts , args = getopt .getopt (sys .argv [1 :], 'hgu:p:m:t:T:d: ' )
84
87
for opt , val in opts :
85
88
if opt == '-h' :
86
89
usage ()
@@ -97,6 +100,8 @@ def main():
97
100
params ['token' ] = val
98
101
elif opt == '-T' :
99
102
check_file_and_save (val , params , 'token_file' )
103
+ elif opt == '-d' :
104
+ params ['project_lead_login' ] = val
100
105
except getopt .GetoptError as e :
101
106
print (e )
102
107
usage ()
@@ -291,6 +296,17 @@ def fb2youtrack(params):
291
296
print ("You have to provide token or login/password to import data" )
292
297
sys .exit (1 )
293
298
299
+ if not params .get ('project_lead_login' ):
300
+ project_lead = params .get ('yt_login' )
301
+ if not project_lead :
302
+ for login in ('root' , 'admin' , 'administrator' , 'guest' ):
303
+ try :
304
+ project_lead = target .getUser (login ).login
305
+ break
306
+ except youtrack .YouTrackException :
307
+ continue
308
+ params ['project_lead_login' ] = project_lead
309
+
294
310
max_issue_id = params ['fb_max_issue_id' ]
295
311
296
312
project_names = youtrackutils .fbugz .PROJECTS_TO_IMPORT
@@ -384,7 +400,10 @@ def fb2youtrack(params):
384
400
385
401
project_id = accessible_projects [project_name ]
386
402
print ('Importing project [ %s ]' % project_name )
387
- target .createProjectDetailed (project_id , project_name .encode ('utf-8' ), 'no description' , 'root' )
403
+ target .createProjectDetailed (project_id ,
404
+ project_name .encode ('utf-8' ),
405
+ '' ,
406
+ params ['project_lead_login' ])
388
407
389
408
print ('Creating custom fields in project [ %s ]' % project_name )
390
409
0 commit comments