Craig manages 9 engineers and they put in vacation requests well in advance. Sometimes he forgets who is out on PTO. Craig read a release note sent by Ganesh who built a way to receive a slack message every day showing who will be out that day. Craig thought it would be useful to be reminded of more than one day of upcoming PTO.
User story: As a member of a team, I want to be notified on Friday mornings of who will be out next week so I can ask them for something before they leave.
What it does
Sends a slack message to a channel or individual listing the people OOO for the following week for the configured work group. Add your group to the Jenkins job to get a reminder on Friday mornings or run the hubbot command in Slack anytime!
How I built it
We extended Ganesh's code to support the "next week" functionality
Challenges I ran into
Debugging purest: we had to move the file outside of /Rest to be able to hit it from an endpoint. Testing Slack notifications in dev was not possible for us :( We found a way to test how messages would be displayed through Slack's API Tool
Accomplishments that I'm proud of
We completed it in 1 day!
What I learned
Array_Helper::normalize is helpful. Slack's API is great!
What's next for Who's Out Next Week?
Build out a UI that allows all Wayfair employees to configure their notifications. Notifications would be sent via email since Slack is not available to everyone in the company. The employee can configure notification type (daily or weekly) arrival time, day, frequency and workgroup.
How to use it
Go to Jenkins job https://fulfillmentbatch.csnzoo.com/job/Chatbot_Notify_Employees_Out_Next_Week/ and add a new config entry (example below) to send to a message to a slack channel or user. This job will send notifications on Fridays at 8 am Eastern Time. If you want the notification on a different day or time, clone the job and configure it to your liking.
/usr/local/bin/php /usr/local/www/data/admin/jobs/holidays/paid_time_off/chatbot_notify_employees_out_next_week.php\ --work_group=2227\ --chat_users='ccapodilupo'