Getting excited about APIs can sometimes be a stretch. An API is not a piece of flair you can adorn across your chest, glistening and glowing in eternal splendor. Front-end customer facing features tend to bring more attention. They are more apparent. More visual. More magical. You see their benefit immediately and for an eye regularly trained on the product they are pretty hard to miss. The product team at PagerDuty is making a conscious effort to move past these (mis)conceptions and we have pushed forward to a world where our APIs are exciting. Or at the very least can be.
So what does this mean to you? It means APIs are now first-class citizens here at PagerDuty. Sure, we’ve had APIs before. We’ve had them pretty much forever. But, we’ve also had other APIs sitting around gathering dust. They were 95% there. They just needed that final push to be ready for the big time. Some just needed a little bit of standardization. Some needed some auditing. They all needed documentation. They just needed some TLC. Well, we spent the time, and now I triumphantly announce the release of the new PagerDuty Developer Site. [Cue lightning storm and glowing sword sequence.]
Note that it is the “Developer” site. I want to stress that word. “Developer”. This isn’t just our API reference site. Sure you can use this site simply as a reference for doing your monitoring integration via HTTPS (and we certainly encourage that), but you can do so much more with what’s provided here. We have the luxury of having some extremely smart and motivated customers. Even without this site as a reference, we’ve had some really amazing tools built using only partial information, some browser sniffing, some screen scraping and a little bit of elbow grease.
Here are just a few random examples:
Jesse Newland’s (@Github) PagerDuty Incident Webhooks does some polling of our site to send out a webhook every time an incident is created in PagerDuty. Use it to integrate with HipChat, Campfire, or use it to close the loop and send out data to any API endpoint you want.
Karl Skomski’s (@Transloadit) PagerDuty Node.js Integration provides Node.js friendly integration with our Integration API.
Ryan Park’s (@Pinterest) PagerDuty Monit Integration wraps the PagerDuty Python library to trigger and resolve events with Monit.
And I know for a fact there’s a lot more. Some people have fully integrated PagerDuty with IRC to query on-call data, create incidents or just send messages reliably. Others have cronjobs running every weekend to query for who’s going to be on-call over the coming week, to send out an email notifying their Engineers that their on-call duty is coming up.
Want to automatically on-board all of your new employees into PagerDuty, or keep your phone numbers in sync with your PagerDuty contact methods? Or, want to take it one step further and use PagerDuty as the canonical store for your org’s contact methods, feel free! We now have APIs to get and update that data.
I’m super excited to see what you people can build when you’re working with a fully supported and documented set of APIs. Some of these existing integrations can be updated to use these new APIs. Some still have to perform their dirty tricks to get the job done, but the plan is to keep releasing more stuff to start closing up the gaps and provide full access to the PagerDuty platform.
Ok. I’m Empowered. And I’m Awesome. So, What’s Next?
Use your newfound power! Start building. Don’t see a Rubygem library to integrate? Get it started. Trust us, there are others out there who will pitch in. Have an existing plugin you want to share? Let us know! We can start to compile a list of all of the best implementations and start to put those up on the new Developer Site. Together we can make operations and on-call management even easier. If you want to get in touch regarding this new site, or have something to share please don’t hesitate to get in touch (firstname.lastname@example.org).