As the owner or administrator of an organization, it’s important to keep a close eye on your organization’s repositories. But beyond monitoring interactions with your repositories, it could be really useful to be able to react to them. This is what Bintray’s Firehose Events API gives you.
The Firehose Events API provides you with data transparency letting you open a connection to Bintray and receive events in a live stream, and respond in real time to anything that happens with your repositories. Bintray currently issues events for upload, download and delete operations on your repositories, as well as for successful or failed login attempts, opening up different opportunities to respond to these events.
Events are received as JSON objects and provide information such as the event timestamp, the user that generated the event and the IP of the machine they were on, the size of and path to an uploaded or downloaded artifact and more. Given this information each organization can implement its own response policies. Some simple examples include:
- Each time a specific artifact is downloaded, you could consider sending a follow-up email the the downloading user asking for feedback.
- Issue an alert if repository size gets too large following the upload of a package
- Issue an alert if very large packages are uploaded
- Keep a log of different users that log into the system
To make things even simpler, the Firehose API is also wrapped by a command in the JFrog CLI. Using JFrog CLI to access the Firehose API has additional advantages such as automatic reconnection if the connection breaks for any reason and event filtering so you can focus on particular events you might be more interested in.