Skip to content
This repository was archived by the owner on Sep 5, 2022. It is now read-only.

Commit 46c183a

Browse files
committed
verify project lead on project creation
1 parent 0b1bc90 commit 46c183a

File tree

1 file changed

+21
-2
lines changed

1 file changed

+21
-2
lines changed

youtrackutils/fb2youtrack.py

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import getopt
1010
import os
11+
import youtrack
1112
from youtrackutils.fbugz.fbSOAPClient import FBClient
1213
from youtrack.connection import Connection
1314
from youtrack import Group, User, Issue, Comment, Link
@@ -60,6 +61,8 @@ def usage():
6061
YouTrack user password
6162
-m MAPPING_FILE,
6263
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
6366
6467
Examples:
6568
@@ -80,7 +83,7 @@ def usage():
8083
def main():
8184
try:
8285
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:')
8487
for opt, val in opts:
8588
if opt == '-h':
8689
usage()
@@ -97,6 +100,8 @@ def main():
97100
params['token'] = val
98101
elif opt == '-T':
99102
check_file_and_save(val, params, 'token_file')
103+
elif opt == '-d':
104+
params['project_lead_login'] = val
100105
except getopt.GetoptError as e:
101106
print(e)
102107
usage()
@@ -291,6 +296,17 @@ def fb2youtrack(params):
291296
print("You have to provide token or login/password to import data")
292297
sys.exit(1)
293298

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+
294310
max_issue_id = params['fb_max_issue_id']
295311

296312
project_names = youtrackutils.fbugz.PROJECTS_TO_IMPORT
@@ -384,7 +400,10 @@ def fb2youtrack(params):
384400

385401
project_id = accessible_projects[project_name]
386402
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'])
388407

389408
print('Creating custom fields in project [ %s ]' % project_name)
390409

0 commit comments

Comments
 (0)