Round Robin
How is it triggered
The round robin, only used for Zendesk US Government, runs via gitLab Scheduled pipelines using a specific schedule for each Zendesk instance:
- Global: N/A
- US Government: Every 10 minutes between the hours 0500 to 1700 (Pacific time)
Monday through Friday (
*/10 5-17 * * 1-5
)
How it works
Zendesk US Government
- Ruby version:
3.2.2
- Gem list:
- CI/CD Images:
curlimages/curl:latest
ruby:3.2.2
Before each job runs, it performs a few actions to setup the image to perform the needed actions:
- Output the response from running the command
ruby -v
- Install the
bundler
gem - Run the
bundle
command - Put the values of the environment variable
SERVICE_CREDS
into the filedata/config.json
After this, the ./bin/round_robin
script is executed.
The script will then determine the currently available agents by checking the suppport-team information, remove any agents on PTO, and remove any agents not currently within working hours.
Using the list of currently available agents, it will then determine the
current workloads of said agents (this is done by looking at assigned tickets
with a status lower than solved) using the Ticket Weight
field on the tickets
it locates.
After gathering the tickets in need of being round robin’d (using the Not round robined view), the script will then assign them out to the agent with the lowest workload (incrementing their workload by 1).
Source projects
dc5d2e17
)