Export oncall information from Pagerduty into Excel format.
I started this project as a weekend thing while working at my former employer. We (the engineering teams) spent several hours producing these reports, so I automated the whole thing.
The final product is an OSX application as this is what HR - the intended user - used.
This application relies on the user posessing an API token. If you have an account in Pagerduty, generate your own Token and keep it in mind!
Here is a guide on how to generate an api key (token)
Check the Releases and download/install the latest disk image.
Copy the contents of the disk image to your Applications.
Run the application. Look for rock-n-call-ui
.
Go to System Preferences / Security & Privacy / General (the tab on top)
You'll notice a section that mentions you tried to open an unsecure app. Allow it.
Open the app again from the Applications menu.
- Per-team sheet generation
- Czech Rep. 🇨🇿 national holidays taken into account
- Pagerduty schedule overrides
- Parameter saved and persisted
- Token
- Output directory
- Employee information (Manager, Personal No.)
- Team information (Employees, Escalation Policy, Recent files)
- Latest generated documents
On the first run, you'll need to provide your API token (see requirements).
The application remembers everything you type in, so you fill in the information only once. Next time you start the app, the fields will be already filled out.
- Copy/paste your token into the form and press
START
. A dropdown menu with a list of available teams will appear. - Select a team and give it a few seconds to load. If there are multiple escalation policies you'll have to choose one.
- After choosing a team, a list of names will appear. Check the ones that qualify for oncall payout.
- For each checked name, fill in their Personal Number and Manager.
- Press Generate Sheet to create an excel sheet with the detailed schedule for this team.
- A blue link to the excel sheet is now visible under Recent Documents. Click on the link to open the Excel file.
- At any time, you can change the directory where new sheets are saved to by clicking on Change directory.
The application will save its configuration in your home folder under a file called .rock-n-call
.
It is saved in your HOME
folder. Whatever information is in there the application will read when starting up.
You can edit this file if you wish to. It uses the EDN format.
Install the Clojure CLI. Learn how to use the dependencies and the developer environment
You can generate a fat jar by running
clojure -X:depstar && java -jar dist/ui.jar
You can also go the Clojure way and invoke the rock-n-call.ui.core/start!
function from a repl.