A comprehensive Node.js automation bot designed to streamline TechOps workflows. It handles daily Jira ticket status reports, manages on-call shift handovers with Slack notifications, and automatically creates Google Meet invites for standups.
TechOps teams often struggle with manual overhead:
- "Who is on call today?"
- "Did you create the standup invite?"
- "What are the high-priority tickets?"
- "Did the shift handover happen?"
This bot automates the entire lifecycle of TechOps daily management, ensuring no handover is missed and the team stays informed about critical issues.
- **Shift Detection**: Fetches schedule timeline from **OpsGenie API** to detect upcoming shifts.
- **Slack Sync**: Automatically updates the **@storefront-web-oncall** Slack User Group with the new Primary and Secondary on-call engineers.
- **Smart Notifications**: Sends a structured handover message to Slack channels (e.g., `#on-call-update`), tagging the incoming and outgoing engineers.
- **Escalation Awareness**: Fetches the full escalation chain to include Secondary and L1 contacts in the footer.
- **Morning Report**: Fetches open tickets from **Jira** using custom JQL filters.
- **Priority Analysis**: Categorizes tickets into **Blocker**, **Critical**, and **High** priority buckets.
- **Staleness Check**: Identifies tickets untouched for >3, >10, and >15 days.
- **Visual Trends**: Generates a "Created vs Closed" line chart for the last 14 days using **QuickChart.io**.
- **Evening Check-in**: Automatically replies to the Morning Report thread in the evening to ask for updates.
- **Auto-Scheduling**: Deletes old "Techops Standup" invites to keep calendars clean.
- **Smart Invites**: Creates a new Google Meet invite for the *next* day, automatically inviting the *new* primary on-call person.
- **Python Script**: A dedicated script ensures the Slack channel topic always reflects the current on-call person (e.g., "SF on-call: @arun.m").