PagerDuty + Fiberplane Integration Benefits
- Create a Fiberplane notebook automatically when a PagerDuty incident is acknowledged.
- Use Fiberplane templates to start an incident investigation with everything you need.
- Update the PagerDuty incident with the Fiberplane notebook URL to click straight from the incident to the investigation.
How it Works
- Once a PagerDuty incident is created or acknowledged, a trigger event will be sent to Fiberplane to create a new notebook based on the PagerDuty template.
- When the notebook has been created, the notebook URL will be sent to the PagerDuty incident and included as a note on the incident. This URL can then be clicked on taking the user straight to the Fiberplane notebook.
- The PagerDuty template uses information such as the service name, incident severity and name of the person acknowledging the incident to create a notebook that can be used to openly and collaboratively investigate an incident.
- A PagerDuty General access REST API key is required for this integration to send the notebook URL back to PagerDuty.
- Access to an AWS account is required to create a new lambda function.
- The Fiberplane CLI is required to create a new trigger endpoint for a template. Instructions to install the CLI and log into Fiberplane with it are here.
If you need help with this integration, please contact email@example.com.
- Go to the incident-response-pagerdutyV3 template found in the Fiberplane Quickstart Repository
- Follow the instructions to create a template and trigger using the CLI.
- Note the Trigger URL for later use.
In the AWS console
- Navigate to the Lambda service.
- Click the orange Create function button.
- Name your function fp-PagerDuty-integration and select the Python 3.7 runtime from the dropdown menu.
- Click the Advanced settings drop down menu and select Enable function URL and choose NONE as the Auth type.
- Press the orange Create function button.
- In the Code source section double click the folder named fp-PagerDuty-integration and then double click lambda_function.py to open the file in the code editor.
- In a separate browser tab open the lambda_function.py page in the PagerDuty integration section of the Fiberplane Quickstart Repository and copy all of the contents of the file.
- Switch back to the AWS lambda console in your browser and paste the code into the lambda_function.py file in the Code source editor.
- Press File → Save in the Code source editor.
- Press Deploy.
- Copy the Function URL in the Function Overview section.
- Click on Integrations and then Generic Webhooks (v3)
- Click on the + New Webhook button.
- In the Webhook URL section add the Function URL copied from the AWS lambda function.
- Select Service as the SCOPE TYPE.
- Select your service in the SCOPE dropdown menu.
- Press Deselect all then check the top box listed incident.acknowledged.
- Click Add custom header.
- Type fp-trigger in the name field and add the Fiberplane trigger URL in the value field .
- Click Add custom header.
- Type pd-apikey in the name field and add your PagerDuty API key in the value field.
- Click Add Webhook and then OK
Testing the integration
- Go to the Incidents screen in PagerDuty and click + New Incident
- Select an Impacted Service and add a Title to the incident and optionally select an Urgency, Incident Priority and Description.
- Click Create Incident
- Click ! Acknowledge
- Check that the notebook URL is updated in the incident notes:
- Click on the URL and ensure that it takes you through to the notebook and the notebook is correctly filled out with the data:
How to Uninstall
- In PagerDuty click on Integrations and then Generic Webhooks (v3)
- Click on the menu represented by three dots on the right of the webhook listing and press delete.
- Open a terminal session, type
fp loginand press enter.
fp triggers listthen press enter, find the trigger and copy the ID of the trigger.
fp triggers delete <trigger ID>and press enter.
- Open the AWS lambda console and click on the lambda function fp-PagerDuty-integration
- Click on the Actions menu in the top right and then Delete function