Automate and streamline the alerting/ notification process for dbt test results using this versatile CLI companion tool. Receive detailed alerts & test metadata seamlessly on various platforms, promoting improved collaboration on dbt project issues ๐๐.
This tool is designed for individuals or teams seeking to automate the management of their dbt project issues (test warnings, errors... etc) outside the dbt environment.
- Automated alerts and notifications based on recorded dbt test results.
- Built-in support for dq-tools and custom query input.
- Auto-labels
deprecated
tests for quick & easy identification. - Creates and updates Jira tickets with the latest tests' metadata.
- Sends succinct and informative messages to a dedicated Slack channel.
dbt alert rant ๐ข ๐ก ๐ด โซ
"Run errors are red,
Test warnings are yellow,
Where's my bug alert,
And joint bugfix workflow?"
-- bydiqu
OG Contributors
- Sources (DWH connections)
- Snowflake
- CSV file
- Package (parsing dbt test results)
- Alert Modules (alert/ notification)
- Jira
- Slack
pip install diqu [--upgrade]
๐ NOTE: The required Data Warehouse (DWH) module should already be installed if you are using diqu
in a working dbt project. If not, please perform additional steps to install these DWH modules.
For example, if you're using Snowflake:
pip install "snowflake-connector-python[pandas]"
pip install "snowflake-connector-python[secure-local-storage]"
preflight
# define the query params
export ISSUE_DEPRECATED_WINDOW_IN_DAYS=your_issue_deprecation_time_in_day, default to "3"
export ISSUE_UPDATE_WINDOW_IN_DAYS=your_issue_historical_data_update_window_in_days, default to "14"
# build dq-tools log table
dbt run -s dq_tools
diqu alert --to slack --to jira
04:33:17 diqu: INFO - Run with diqu==1.0.0 ๐
04:33:19 diqu: INFO - Using dbt project at: /path/to/dbt/project
04:33:19 diqu: INFO - Using dbt profiles.yml at: ~/.dbt
04:33:19 diqu: INFO - Using snowflake connection
04:33:19 diqu: INFO - Looking for the query in: ./dq_tools__get_test_results.sql
04:33:23 diqu: INFO - Alerting to: SLACK
04:33:23 diqu: INFO - โ
Done > Slack
04:33:23 diqu: INFO - Alerting to: JIRA
04:33:23 diqu: INFO - โ
Done > JIRA
-
Use the environment variables to configure the Slack Channel:
export SLACK_TOKEN=your_token export SLACK_CHANNEL=your_channel_name diqu alert --to slack
-
Use the environment variables to configure the JIRA Board:
export JIRA_SERVER=your_jira_server e.g. https://your_value.atlassian.net/ export JIRA_AUTH_USER=your_service_account e.g. dqt_user@your_value.com export JIRA_AUTH_PASSWORD=your_service_token e.g. ATATTxxxxx export JIRA_PROJECT_ID=your_project_id e.g. 106413 export JIRA_ISSUE_TYPE=your_issue_type, default to "Bug" export JIRA_OPEN_ISSUES_FILTER_BY_SUMMARY=your_issue_filter_on_title, default to "dq-tools" diqu alert --to jira
๐ For more details, please visit the documentation site.
This Auto Alert (diqu
) tool is an open-source software. Whether you are a seasoned open-source contributor or a first-time committer, we welcome and encourage you to contribute code, documentation, ideas, or problem statements to this project.
๐ See CONTRIBUTING guideline for more details or check out CONTRIBUTING.md
๐ And then, kudos to our beloved Contributors:
Infinite Lambda is a cloud and data consultancy. We build strategies, help organizations implement them, and pass on the expertise to look after the infrastructure.
We are an Elite Snowflake Partner, a Platinum dbt Partner, and two-times Fivetran Innovation Partner of the Year for EMEA.
Naturally, we love exploring innovative solutions and sharing knowledge, so go ahead and:
๐ง Take a look around our Git
โ๏ธ Browse our tech blog
We are also chatty, so:
๐ Follow us on LinkedIn
๐๐ผ Or just get in touch