@@ -46,7 +46,7 @@ def __init__(self, config: config, cxparams: cxproperties, scaninfo: cxscan, res
46
46
# Read JIRA parameters from config
47
47
self .jiraparams = jiraproperties (config = config )
48
48
self .jira = None
49
- # self.userkeyname = 'accountId'
49
+ self .userkeyname = None
50
50
# A cache for assignable users so we do not have to keep calling
51
51
self .__jirausers = []
52
52
super ().__init__ (config , cxparams , scaninfo , results , counters , countersall )
@@ -215,7 +215,6 @@ def __getdatetimestring( self, value: str ) :
215
215
216
216
217
217
def __validate_jira_user ( self , projectid : str , useremailorname : str ) :
218
- xkeyname = 'accountId'
219
218
xsearch : str = useremailorname .lower ()
220
219
# Check if the user is already in the cache
221
220
user = next ( filter ( lambda el : el ['project' ] == projectid and (el ['email' ] == xsearch or el ['name' ] == xsearch or el ['id' ] == xsearch or el ['disp' ] == xsearch ), self .__jirausers ), None )
@@ -241,19 +240,21 @@ def __validate_jira_user( self, projectid: str, useremailorname: str ) :
241
240
if users and len (users ) > 0 :
242
241
# Check the keyname
243
242
xuser = users [0 ]
244
- if xkeyname not in xuser .keys () :
245
- if 'key' in xuser .keys () :
246
- xkeyname = 'key'
243
+ if not self .userkeyname :
244
+ if 'accountId' in xuser .keys () :
245
+ self .userkeyname = 'accountId'
246
+ elif 'key' in xuser .keys () :
247
+ self .userkeyname = 'key'
247
248
else :
248
- xkeyname = None
249
+ self . userkeyname = None
249
250
# Add to cache
250
- if xkeyname :
251
+ if self . userkeyname :
251
252
for xuser in users :
252
253
if 'name' in xuser .keys () :
253
254
xname = xuser ['name' ]
254
255
else :
255
256
xname = xuser ['displayName' ]
256
- xkey = xuser [xkeyname ]
257
+ xkey = xuser [self . userkeyname ]
257
258
xmail = xuser ['emailAddress' ]
258
259
if not xmail :
259
260
xmail = xsearch
@@ -270,7 +271,7 @@ def __validate_jira_user( self, projectid: str, useremailorname: str ) :
270
271
user = next ( filter ( lambda el : el ['project' ] == projectid and (el ['email' ] == xsearch or el ['name' ] == xsearch or el ['id' ] == xsearch or el ['disp' ] == xsearch ), self .__jirausers ), None )
271
272
# Return
272
273
if user :
273
- if xkeyname == 'accountId' :
274
+ if self . userkeyname == 'accountId' :
274
275
return 'id' , user ['id' ]
275
276
else :
276
277
return 'name' , user ['xname' ]
0 commit comments