PagerDuty (dagster_pagerduty)¶
This library provides an integration with PagerDuty, to support creating alerts from your Dagster code.
Presently, it provides a thin wrapper on the Events V2 API.
Getting Started¶
You can install this library with:
pip install dagster_pagerduty
To use this integration, you’ll first need to create a PagerDuty integration. There are instructions here for creating a new PagerDuty service & integration.
As noted in the PagerDuty documentation, you’ll find an integration key (also referred to as a “routing key”) on the Integrations tab for your new service. This key is used to authorize events created from the PagerDuty events API.
Once your service/integration is created, you can provision a PagerDuty resource and issue PagerDuty alerts from within your solids.
-
dagster_pagerduty.
pagerduty_resource
ResourceDefinition[source]¶ A resource for posting events (alerts) to PagerDuty.
Example:
@solid(required_resource_keys={'pagerduty'}) def pagerduty_solid(context): context.resources.pagerduty.EventV2_create( summary='alert from dagster' source='localhost', severity='error', event_action='trigger', ) @pipeline( mode_defs=[ModeDefinition(resource_defs={'pagerduty': pagerduty_resource})], ) def pd_pipeline(): pagerduty_solid() execute_pipeline( pd_pipeline, { 'resources': { 'pagerduty': {'config': {'routing_key': '0123456789abcdef0123456789abcdef'}} } }, )