GitHub Action
PagerDuty Change Events
PagerDuty Change Events
PagerDuty Change Events
Create a PagerDuty Change Event
Installation
Copy and paste the following snippet into your .yml file.
- name: PagerDuty Change Events
uses: PagerDuty/pagerduty-change-events-action@v1.3.0
PagerDuty Change Events GitHub Action
This action creates a PagerDuty change event. Change events help you track deploys, build completion, configuration updates, etc., providing contextual information that is critical during incident triage.
Getting Started
Before you can use this action you'll need to have a PagerDuty service configured with an integration. To add a GitHub integration to your service, follow these instructions. Upon completing those steps you should receive an integration key that you can use with this action.
Currently only push
and pull_request
events are handled, and for pull_request
events, a change event will only be created
when the pull request is merged. You can choose which event and which branches change events should be created for in your
workflow configuration.
Inputs
integration-key
Required The integration key that identifies the PagerDuty service the change was made to, added as a GitHub secret for the repository.
custom-event
Custom event summary. If provided the GitHub event type is ignored and the given summary used. A link to the run is included in the change event.
Example usage
on:
push:
branches:
- master
- main
pull_request:
branches:
- master
- main
types:
- closed
jobs:
send-pagerduty-change-event:
runs-on: ubuntu-latest
name: Sending PagerDuty Change Event
steps:
- name: Create a change event
uses: PagerDuty/pagerduty-change-events-action@master
with:
integration-key: ${{ secrets.PAGERDUTY_CHANGE_INTEGRATION_KEY }}
Custom event
Custom events can for instance be used for notifying about the result of a job:
on:
push:
branches:
- master
- main
jobs:
deploy:
runs-on: ubuntu-latest
name: Deploying the application (dummy)
steps:
- name: Dummy step
run: echo "Dummy deployment"
notification:
runs-on: ubuntu-latest
name: Notify PagerDuty
needs: [deploy]
if: always()
steps:
# make deploy job status available
# see https://github.com/marketplace/actions/workflow-status-action
- uses: martialonline/workflow-status@v3
id: check
- name: Create a change event
uses: PagerDuty/pagerduty-change-events-action@master
with:
integration-key: ${{ secrets.PAGERDUTY_CHANGE_INTEGRATION_KEY }}
custom-event: Deployment ${{ steps.check.outputs.status }}