pierrerolland/hipchat-bundle
A Symfony bundle for integrating HipChat into your PHP projects, providing configuration and ready-made services to connect to the HipChat API and send room notifications without boilerplate.
v1.0.0 is the initial release of the Hipchat bundle, so there is no upgrade path to worry about — but also very little documentation to lean on. Treat the source as the specification until the README fills out.
composer.json for the actual vendor/package name and required Laravel/PHP versions before committing).config/app.php and add the facade alias if one ships.php artisan vendor:publish --provider="...HipchatServiceProvider") and inspect the resulting file for token, room, and endpoint keys..env rather than the config file: typically a Hipchat API token and a default room ID or name.Hipchat::message('Deploy finished')->to('room')->send()), a helper, or a Laravel notification channel.Where to look first: the config file (it tells you what the package expects), then the main client/service class, then any Notifications/ or Channels/ directory. The tests, if present, are usually the most accurate usage examples in a v1.0.0 package.
First use case: deploy and error alerting into a team room. Wire it into a queued notification or a deploy script so the value is visible immediately.
AlertNotification with via() returning the Hipchat channel, keep message formatting in toHipchat(), and let Laravel handle queueing and retries.ShouldQueue on notifications, or wrap facade calls in a queued job. Hipchat calls are network I/O and will slow down requests and deploy scripts otherwise.HIPCHAT_ROOM_DEV, HIPCHAT_ROOM_PROD) and resolve them in config. Avoid hard-coding room names in notification classes.#deploys and #oncall. Loop over an array of rooms from config rather than duplicating notification classes.TeamNotifier service that maps domain events (DeployFailed, BuildGreen) to Hipchat messages keeps third-party API details out of your domain code and makes a future migration to Slack/Teams a single-file change.send was called with the expected room and message. Never let the suite hit the real API.App\Exceptions\Handler::report() for production error alerts, from CI after deploy steps, and from scheduled tasks for daily digests. Always guard with an env check so local and test environments stay silent.send_notification for that room.text, html) and notify (ping the room) are easy to get wrong — an unset notify means alerts may be silently missed. Set them explicitly in your notification class..env, run php artisan config:clear. Cached config is the most common cause of "my token isn't being picked up".composer.json before installing into a modern app; you may need --ignore-platform-reqs (not recommended) or a fork.How can I help you explore Laravel packages today?