HN
← Back to Projects

p4bot — DevOps Infrastructure

Discord bot that broadcasts live Perforce file locks — no more invisible checkout conflicts.

A DevOps automation service bridging Perforce and Discord. When a teammate locks a binary asset, the bot immediately alerts the team channel — eliminating the invisible-lock problem that stalls game development collaboration.
  • Developed a real-time monitoring system for Perforce depot activity and exclusive-locks, featuring Slash Commands (/canwork).
  • Architected a Jenkins CI/CD pipeline with automated session renewal to ensure 24/7 uptime without manual intervention.
  • Containerized the service using Docker to provide an environment-agnostic, cross-platform execution layer.

Technical Deep Dive

Bypassing Network Restrictions

University IT policies blocked all inbound connections to the Perforce server. Designed a locally-installed Automated Hook System that pushes depot events outward to a Discord webhook — requiring zero inbound port exposure and remaining fully compliant with IT policy.

Zero-Conflict Binary Asset Management

Automated monitoring of Exclusive Locks on binary assets (.uasset files). When a lock is detected, p4bot immediately broadcasts a channel notification and updates the /canwork slash command. Achieved zero build-breaking conflicts over a 6-month project lifecycle.

Containerized 24/7 Deployment

Containerized the full service with Docker for environment-agnostic deployment. A Jenkins CI/CD pipeline with automated session renewal maintains 24/7 uptime without manual intervention, reducing new-member onboarding time by 90%.