Saviynt unveils its cutting-edge Intelligence Suite products to revolutionize Identity Security!
Click HERE to see how Saviynt Intelligence is transforming the industry.
Saviynt Copilot Icon

Generate username via user import json

AbdulGaffar
New Contributor III
New Contributor III

Hi,

Is it possible to generate username via user import mapping json by defining ${username} binding variable

we have also defined add register rule that generates usernames at global configuration

But the usernames are not getting defined please suggest if there is a way possible to generate via import

sample json:

{

"ImportType": "RAAS",
"ResponsePath": "Report_Entry",
"ImportMapping": {

"USERNAME": "${username}~#~char",

}

Regards,

Abdul Gaffar

7 REPLIES 7

dgandhi
All-Star
All-Star

When you import , enable below config.

Below document for details:

https://docs.saviyntcloud.com/bundle/EIC-Admin-v23x/page/Content/Chapter03-User-Management/Uploading...

 

dgandhi_0-1682692344270.png

Thanks

Thanks,
Devang Gandhi
If this reply answered your question, please Accept As Solution and give Kudos to help others who may have a similar problem.

AbdulGaffar
New Contributor III
New Contributor III

Hi @dgandhi ,

I did specify the rule as mentioned above  and specified by using binding variable ${username} to generate a new username while importing users via Job 

However, the username does not get created , if this is possible while importing users via a job

Regards,

AbdulGaffar

If I understand correctly, if you want Saviynt to populate the username then you have to specify the same in your JSON.

Example:

"colsToPropsMap": 

        { 

"EMPLOYEEID":"Associate_ID~#~string", 

"USERNAME":"Associate_ID~#~string", 

Note: Here Associate_ID is coming from trusted source.

The global config that you are talking about is responsible for creating system username field and not username.

Thanks

 

 

Thanks,
Devang Gandhi
If this reply answered your question, please Accept As Solution and give Kudos to help others who may have a similar problem.

AbdulGaffar
New Contributor III
New Contributor III

Hey @dgandhi ,

Ok we do not have the username specific attribute from the trusted source and would like to generate unique username as we run the user import

if we can populate the username from the import user json through binding variable as specified below , I understand that the right side attribute shall be from source or target 

"USERNAME": "${username}"

Right side will be from source / target. You can also have some pre-processing logic for generating the username before storing the same into Saviynt db.

Thanks

Thanks,
Devang Gandhi
If this reply answered your question, please Accept As Solution and give Kudos to help others who may have a similar problem.

AbdulGaffar
New Contributor III
New Contributor III

Sure @dgandhi , if you can specify what shall be the syntax for configuring modify user data json field to create usernames

Thanks,

Abdul Gaffar

I dont have exact sample but please find below document for reference.

https://docs.saviyntcloud.com/bundle/EIC-User-v2020x/page/Content/04-mang-usr/ars-upl-usr.htm

JSON
{
 "ADDITIONALTABLES": 
 	{
	  "USERS": "SELECT customproperty40, PreferedFirstName, 
	  customproperty1, customproperty5, customproperty6, 
	  entity, locationnumber, startdate, employeetype, customproperty12, 
	  customproperty23, customproperty24, customproperty30, 
	  customproperty41, customproperty42, customproperty31, 
	  customproperty43, customproperty22, systemUsername, 
	  Departmentname, Departmentnumber, email, customproperty37, 
	  customproperty2, firstname, lastname, middlename, 
	  customproperty39, customproperty36, displayName, street, 
	  jobcodedesc FROM USERS"
	},
	"COMPUTEDCOLUMNS": 
		["customproperty40",
		"displayName",
		"street",
		"jobcodedesc",
		"customproperty41",
		"customproperty42",
		"customproperty43",
		"customproperty23",
		"customproperty24",
		"customproperty37",
		"customproperty30",
		"systemUsername",
		"email",
		"customproperty39",
		"customproperty1",
		"customproperty5",
		"customproperty6",
		"customproperty12",
		"customproperty22",
		"customproperty2",
		"customproperty31",
		"customproperty36"],
	"PREPROCESSQUERIES": 
	["UPDATE NEWUSERDATA SET displayName = CONCAT(PreferedFirstName,' ',customproperty1) where (displayName is null or displayName='')",
	"UPDATE NEWUSERDATA SET street = case when (customproperty5 is not null or customproperty5!='') and (customproperty6 is not null or customproperty6!='') and (street is null) then CONCAT(customproperty5,' ',customproperty6) when (customproperty5 is not null or customproperty5!='') and (street is null) then customproperty5 end",
	"UPDATE NEWUSERDATA SET jobcodedesc='OU=Users,OU=CAM,OU=CSC,OU=US,DC=am,DC=cpb,DC=com' where locationnumber in ('9000','9002') AND customproperty22 in ('EN','RD','RDQ','QL','SU','GM','HR','IT','LG','MK','PA','PR','SA','ST','EX','AD','CC','GD','IM','PC','SA','FI') AND Date(startdate) >= DATE(NOW()) and employeetype='Employee' AND customproperty12='A' AND (customproperty23 is null or customproperty23='') AND (customproperty24 is null or customproperty24='') AND (customproperty30 is null or customproperty30='') and jobcodedesc is null"]
}  

Thanks

Thanks,
Devang Gandhi
If this reply answered your question, please Accept As Solution and give Kudos to help others who may have a similar problem.