Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This article contains the following topics:

Table of Contents


Info
titleNote

This article deals exclusively with how to synchronize user data from other systems via LDAP and REST; to learn how to synchronize user data from Serviceaide Intelligent Service Management and CA Service Desk Manager please refer to Synchronize Users from CA SDM and ISM.

The Sync Utility specifies how to synchronize data on a regular basis from various sources such as Lightweight Directory Access Protocol (LDAP), Representational State Transfer (REST) APIs such as ServiceNow, Cherwell, Freshservice or any other ITSM tools to Luma. The utility is used to import information such as users, groups, group membership and global user attributes. This utility does not import or update passwords in Luma. The synchronization can be scheduled at a recurring interval that is aligns to your organization's needs. When a user is added or updated from a domain, the Sync Utility automatically synchronizes the information with Luma

...

Code Block
titleSynctool properties
linenumberstrue
# comment
import-data-system.source-system-name = ADFS
# this can be only supported connection types (REST/LDAP) etc
import-data-system.connection-type = LDAP
import-data-system.ldapConfig.admin-user = Administrator@domain.com
import-data-system.ldapConfig.password = xxxxxxxxxx
import-data-system.ldapConfig.global-catalog-server = ldap://xx.xxx.xxx.xxx:xxxx
import-data-system.ldapConfig.domain-controller-server = ldap://xx.xxx.xxx.xxx:xxx
import-data-system.ldapConfig.search-base = OU=USERS,DC=ACME,DC=inc
import-data-system.ldapConfig.search-filter = (&(objectClass=user)(objectClass=person)(objectClass=organizationalPerson))
import-data-system.ldapConfig.response-type = String
# comment
import-export-mapping.import-data-model-key-mapping-with-export-data-model-key = [{\	
	"importDataKey": "",\	
	"exportDataKey": "",\	
	"staticColumn": "true",\	
	"staticColumnName": "Id",\	
	"staticColumnValue": "",\	
	"isTransformationNeeded": "false",\	
	"javascriptImportDataKeyReference": "Id",\	
	"javascriptXformationFunciton": ""\
},\
{\	
	"importDataKey": "title",\	
	"exportDataKey": "Title",\	
	"staticColumn": "false",\	
	"staticColumnName": "",\	
	"staticColumnValue": "",\	
	"isTransformationNeeded": "false",\	
	"javascriptImportDataKeyReference": "title",\	
	"javascriptXformationFunciton": ""\
},\
{\	
	"importDataKey": "givenName",\	
	"exportDataKey": "First Name",\	
	"staticColumn": "false",\	
	"staticColumnName": "",\	
	"staticColumnValue": "",\	
	"isTransformationNeeded": "false",\	
	"javascriptImportDataKeyReference": "firstName",\	
	"javascriptXformationFunciton": ""\
},\
{\	"importDataKey": "givenName",\	
	"exportDataKey": "Middle Name",\	
	"staticColumn": "false",\	
	"staticColumnName": "",\	
	"staticColumnValue": "",\	
	"isTransformationNeeded": "false",\	
	"javascriptImportDataKeyReference": "given Name",\	
	"javascriptXformationFunciton": ""\
},\
{\	
	"importDataKey": "sn",\	
	"exportDataKey": "Last Name",\	
	"staticColumn": "false",\	
	"staticColumnName": "",\	
	"staticColumnValue": "",\	
	"isTransformationNeeded": "false",\	
	"javascriptImportDataKeyReference": "lastName",\	
	"javascriptXformationFunciton": ""\
},\
{\	
	"importDataKey": "givenName",\	
	"exportDataKey": "User Name",\	
	"staticColumn": "false",\	
	"staticColumnName": "",\	
	"staticColumnValue": "",\	
	"isTransformationNeeded": "true",\	
	"javascriptImportDataKeyReference": "userName",\	
	"javascriptXformationFunciton": "function (entity) { return 'usr_' + parseInt((Math.random() * 20), 10) + entity.firstName.replace(/\s+/, '') } "\
},\
{\	
	"importDataKey": "mail",\	
	"exportDataKey": "Email Address",\	
	"staticColumn": "false",\	
	"staticColumnName": "",\	
	"staticColumnValue": "",\	
	"isTransformationNeeded": "false",\	
	"javascriptImportDataKeyReference": "eMail",\	
	"javascriptXformationFunciton": ""\
},\
{\	
	"importDataKey": "mobile",\	
	"exportDataKey": "Phone",\	
	"staticColumn": "false",\	
	"staticColumnName": "",\	
	"staticColumnValue": "",\	
	"isTransformationNeeded": "false",\	
	"javascriptImportDataKeyReference": "phone",\	
	"javascriptXformationFunciton": ""\
},\{\	
	"importDataKey": "dummy",\	
	"exportDataKey": "Role",\	
	"staticColumn": "false",\	
	"staticColumnName": "Role",\	
	"staticColumnValue": "",\	
	"isTransformationNeeded": "true",\	
	"javascriptImportDataKeyReference": "",\	
	"javascriptXformationFunciton": "function(entity) { if (entity.lastName.indexOf('admin') > -1) {return 'Administrator'; } else if (entity.lastName.indexOf('analyst') > -1) {return 'Analyst';} else {return 'Self-service user';}}"\
},\
{\	
	"importDataKey": "",\	
	"exportDataKey": "",\	
	"staticColumn": "true",\	
	"staticColumnName": "Associated Groups",\	
	"staticColumnValue": "G1",\	
	"isTransformationNeeded": "true",\	
	"javascriptImportDataKeyReference": "",\	
	"javascriptXformationFunciton": ""\
}]
export-data-system.target-system-name = LUMA
export-data-system.target-export-format = Excel
export-data-system.exportFileLocation = e:/exportrunner/conf/Template_for_Bulk_Upload.xlsx
export-data-system.exportSheetName = Contacts
export-data-system.connection-type = LUMA
	
export-data-system.luma.base-url = https://xxx
export-data-system.luma.auth-api = /public/tenant/login
export-data-system.luma.export-api = /tenant/@replace.tenantId/contact/upload
export-data-system.luma.userName = admin@xxxadmin@example.com
export-data-system.luma.password = xxxx
export-data-system.luma.subDomain = xxxx

...

Parameter NameParameter DescriptionExample Values
ldapConfig.global-catalog-serverSpecifies the Domain server and port and is
usually the same as the Global Catalog server.
ldap://dcp1s:3268
ldapConfig.admin-userSpecifies the Distinguished Name of the
service account to use for connecting to AD
and retrieving information.
CN=User\\, Admin, OU=Users, DC=Acme, DC=com
ldapConfig.passwordSpecifies the password for the service account specified in ldap.bind.user attribute.XYZ
ldapConfig.search-baseSpecifies the file name for the list of
Organizational Units (OUs) to be searched against.
ad.search.base.list
ldapConfig.search-filterSpecifies the LDAP filter for retrieving user entries from AD.
This does not need to be modified and should work for most organizations.
(&(objectClass=user)(objectClass=
person)(objectClass=organization
alPerson))
ldapConfig.response-typeThis is a system defined template for
processing the XML data. This should NOT be modified unless requested by the Support team.
/home/helptwps/dtd/ProcessXM
LDocument.dtd
target-system-nameSpecifies the target system name, however, the value is hardcoded to Luma. Luma
target-export-formatSpecifies the target export format, which is Excel. Excel
exportFileLocationSpecify the export file location.e:/exportrunner/conf/Template_for_Bulk_Upload.xlsx
exportSheetNameSpecify the export sheet name.Contacts 
connection-typeSpecifies the connection type however, the value is hardcoded to Luma. Luma
base-urlSpecify the base URL of the export.Staging or Production URL
auth-apiSpecify the authorization API, which is hardcoded to /public/tenant/login /public/tenant/login
export-apiSpecifies the export API, which is hardcoded to /tenant/@replace.tenantId/contact/upload./tenant/@replace.tenantId/contact/upload
usernameSpecify the user name.admin@xxxadmin@example.com 
passwordSpecify the password to login.
subDomain Specify the sub domain.

...