How do I integrate with AD, LDAP & other HRIS tools for centralised user management?

Server version of UpRaise can integrate with 3rd party systems such as AD, LDAP, HRIS, DaaS softwares for centralized user management. Typically, these systems should push reports to a pre-configured SFTP server, from where UpRaise can poll data at a set frequency.

Setting up SFTP connection

Admin/super admin can navigate to company directory under administration & then click on 'HRMS Sync' tab. This is where the SFTP connection is configured. 

  • Auto-sync - on/off, dictates whether UpRaise will connect to the SFTP server daily night 11 o'clock to retrieve the JSON files

  • SFTP Server - host name or IP address

  • Port - usually SFTP is configured at 22

  • username & password - to connect with the SFTP server

  • Directory - relative path to the directory where the JSON files will be available

Add the above information & click on 'Save'. On successful connection, the configuration will be saved. Otherwise, a relevant error message will be displayed.

Do note that, the SFTP user must have read & write permissions in order for the entire process to work properly.



 

UpRaise will reach out to this SFTP server daily night 11 o’clock & pick up the file/s generated that day.

After processing, all UpRaise administrators will be notified via email & a status JSON/xls will be dumped on the same SFTP location.


Do note that name of the file to be picked up by the system should have the following pattern -

UsersDataYYYYMMDD.json

or

UsersDataYYYYMMDD.xls 

or

TeamsDataYYYYMMDD.json

 

The first time around, it may take a few trial & errors to get the JSON format right. That is why there is a manual trigger. Manual trigger accepts name of the JSON file & searches for it in the SFTP folder. Once you get the format correct, just start dumping these JSONs on a daily basis in the configured folder. Expected naming of the file follows the pattern - UsersDataYYYYMMDD.json

Once completed, UpRaise will generate a file with execution status in the same SFTP (for which it needs Write permissions on the SFTP).

Format & content of these reports should be as explained below: 

Employee data JSON structure

UpRaise expects to receive only the user records in which one or more of the following attributes have been updated - designation, manager, team, UpRaise role. If there are updates to other user attributes in the external system, UpRaise doesn't need to know.

Employee Data JSON Structure
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 { "users":[ { "id":"11081", "jirausername":"Jane.Doe", "designation":{ "id":"94", "name":"Consultant, eLearning & Systems" }, "userrole":"USER", "manager":{ "id":"9195", "jirausername":"John.Doe" }, "teams":[ { "id":"10017", "name":"HR" } ] } ] }

 

This file is supposed to be incremental. Meaning, only those users whose data is updated should be present in the JSON file. For the first run, all users should be part of this JSON.

Parameter details

  • id - string - Id of the user in the external system. Should be unique for each user.

  • jirausername - string- Jira username of the corresponding user. UpRaise assumes that the users in the file are already part of Jira. 

  • designation - complex type - UpRaise can store only one designation per user

    • id - string - The unique identifier for the designation. If at the time of processing, this id does not exist in UpRaise designations master, it will be created and assigned to the corresponding user. If it exists, designation name would be updated if required.

    • name - string - e.g. Software Engineer, Project Manager etc

  • userrole - this parameter is mandatory in case user based access is turned on. Possible options are 'USER' & 'NO_ACCESS'

  • manager - complex type - UpRaise can store only one manager per user

    • id - string - Id of the user in the external system. Should be unique for each user. UpRaise expects the manager to be a user himself in the external system.

    • jirausername - string- Jira username of the corresponding user. UpRaise assumes that the users in the file are already part of Jira. 

  • teams - complex type -UpRaise can store multiple teams per user

    • id -  string - The unique identifier for the team. If at the time of processing, this id does not exist in UpRaise teams master, it will be created and assigned to the corresponding user. If it exists, team name would be updated if required.

    • name - string - e.g. Inside Sales, Software Development etc

Team data JSON structure

UpRaise expects to receive team records in which one or more of the following attributes have been updated - team name, team id, team lead id & name, parent team name & id, team type & description. If there are updates to other team attributes in the external system, UpRaise doesn't need to know.

Employee Data JSON Structure

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 { "teams": [ { "id": "741", "name": "Sales", "teamLead": { "id": "1", "jirausername": "John.Doe" }, "parentTeam": { "id": "249", "name": "Business Development" }, "teamType": { "name": "Department" }, "description": { "name": "Team responsible for bringing in Dollars." } } ] }

Parameter details

  • Team

    • id - string - Id of the team in the external system. Should be unique for each team.

    • name- string- Name of the team. If the team does not exist in UpRaise already, it will be created and then updated in the database. 

  • teamLead

    • id - string - team lead's user id in the system. It should be a unique id.

    • jirausername - string - jirausername of the team lead.

  • parentTeam

    • id - string - Id of the parent team in the external system. Should be unique for each team

    • name - string -  Name of the parent team.  If the team does not exist in UpRaise already, it will be created and then updated in the database. 

  • teamType

    • name - string - team type e.g. department, division, team etc

  • description

    • name - string - Description of the team.