Our Contributors Rock
To be effective, data quality requires a workflow and collaboration. Great Expectations must be able to notify you when validating a batch of data succeeds or fails. Until now the default (and only) notification mechanism was Slack by enabling SlackNotificationAction in their Validation Operators' configuration.
Niall's PR adds PagerDutyAlertAction- a class that can send PagerDuty alerts in response to a validation result. This is the first community-contributed notification action and we are very excited to have it. It uses the pluggable architecture of Great Expectation and can be used as an action in the list of actions of existing Validation Operators.
This is part of the 0.12.4 release
Here's our interview with Niall about the PR contributions:
What encouraged you to make this contribution?
"Previously the only alert action available was a Slack message. At Tails.com we required an incident response platform integration on a subset of our Great Expectations checks, and so I made a custom alert action. I imagined it would be useful to others too and made the PR!"
What steps did you take to figure out how to contribute?
"In this case, it was actually pretty straightforward, I looked at how the current Slack alert action was implemented and copied the pattern with some slightly different logic and API call."
What kind of impact will this contribution make on your team’s (and other teams’) workflow?
"It means our Great Expectations deployment can now action out of hours responses. There’s only so much you can rely on a service to report its own health state, if it is truly broken, it's alerting likely is too. This was solved for API-based services through the form of health check endpoints. As analytics and data models are increasingly relied on for not just human decision making but automated processes, decoupled alerting is crucial, which requires a data-native alerting tool."
Is there anything you would like to see to make contributing easier?
"The contributing guide was a great place to start. Contributing to new projects is exciting but can be overwhelming, avoid the temptation to just scroll through code. My advice is to first try and identify a similar pattern to the one you want to contribute (in my case the Slack notification), the global search function in your editor is your friend here. For more complex contributions that require you to weave changes through a codebase, start with an identifier or pattern you recognize. From there, work through the sequence of function calls and follow the state. Lastly, don’t be afraid to ask for help."
Thanks to Niall for not only the awesome contribution but for sharing your experience contributing with us! Hope you enjoy your Great Expectations Contributor coffee mug!