/
20.Technical Documentation
20.Technical Documentation
1. PURPOSE
Integrating Workday system with JIRA to show the properties of Reporter in an issue, fetching directly from Workday system.
2. FUNCTIONALITY
- Workday user properties and users will be synced to JIRA as JIRA users with user properties.
- Sync will be done at a predetermined frequency (24hrs) which should be configurable.
- Workday and JIRA Sync is independent of any JIRA events & triggers.
- JIRA user properties will be used to update custom fields.
- Custom field will be updated upon below JIRA events
- Issue created.
- Issue updated.
3. PRE-REQUISITES (software to be installed)
- Nodejs (framework)
- npm (commands to install and run the application)
- Microsoft Visual Studio (platform to run the code)
- Sourcetree (to clone the code from bitbucket)
- ngrok (tunneling between nodejs and Jira cloud)
4. ARCHITECTURE
- Workday system contains the properties of all the users present in the system
- "Workday for JIRA" application pulls the user properties from Workday system
- The application checks if the same user exist in JIRA system based on email
- If the users exist then the properties will be pushed into JIRA system else the application won't push the data
- This process is automated and synchronizes every 24hrs
5. DEPLOYMENT AND PROPERTY FILE CONFIGURATION
PROPERTY FILE CONFIGURATION
- "Workday for JIRA" contains a property file which can be configured any time
- Property file contains all the necessary things that are required to run the application like hostname, api token, custom field id etc
- At any point of time if there are any changes to be made then the values in property file can be changed and it reflects everywhere in the application
DEPLOYMENT PROCESS in Development Environment
- Install nodejs and set the path
- Install npm, and ngrok
- Clone the code from Bit Bucket, unzip it and save it in a folder
- Install Microsoft Visual Studio and import the folder containing code
- Go to credentials file and enter the right details (hostname, api token etc)
- Go to property file and make the necessary changes by adding what is required (custom field id, hostname etc)
- Open terminal and run "npm install" command
- Run "npx sequelize-cli db:migrate"
- Once it is finished run "npm start". This will start the application and install it in JIRA cloud instance.
- You can now access the app in JIRA cloud instance
DEPLOYMENT PROCESS in Production Environment
- Make sure that startup scripts are present for Graco app on production server - Startup scripts for cloud apps
- Install nodejs and set the path
- Install npm
- Clone the code from Bit Bucket
- Go to credentials file and enter the right details (hostname, api token etc)
- Go to property file and make the necessary changes by adding what is required (custom field id, hostname etc)
- Open terminal and run "npm install" command
- Run 'npx sequelize-cli db:migrate'
- Also make sure that the database credentials are correct in "config.json" and "/persistence/database.json" files
- Once it is finished restart the VM.
- You can now access the app in JIRA cloud instance
6. TESTING
- Create a test issue
- Change the reporter to an existing workday user
- Custom fields will populate and will show details related to the reporter in that issue
, multiple selections available,