PR #46 includes the following updates:
- Updated the following staging models to leverage the
{{ dbt.type_timestamp() }}
macro on timestamp fields in order to ensure timestamp with no timezone is used in downstream models.stg_zendesk__ticket
stg_zendesk__ticket_comment
stg_zendesk__ticket_field_history
stg_zendesk__ticket_form_history
stg_zendesk__ticket_schedule
stg_zendesk__time_zone
stg_zendesk__user
- Updated "Zendesk" references within the README to now refer to "Zendesk Support" in order to more accurately reflect the name of the Fivetran Zendesk Support Connector.
PR #43 introduces the following updates:
- Added the
internal_user_criteria
variable, which can be used to mark internal users whoseUSER.role
may have changed fromagent
toend-user
after they left your organization. This variable accepts SQL that may reference any non-custom field inUSER
, and it will be wrapped in acase when
statement in thestg_zendesk__user
model.- Example usage:
# dbt_project.yml
vars:
zendesk_source:
internal_user_criteria: "lower(email) like '%@fivetran.com' or external_id = '12345' or name in ('Garrett', 'Alfredo')" # can reference any non-custom field in USER
- Output: In
stg_zendesk__user
, users who match your criteria and have a role ofend-user
will have their role switched toagent
. This will ensure that downstream SLA metrics are appropriately calculated.
- Updated the way we dynamically disable sources. Previously, we used a custom
meta.is_enabled
flag, but, since we added this, dbt-core introduced a nativeconfig.enabled
attribute. We have opted to use the dbt-native config instead. - Updated the pull request templates.
- Included auto-releaser GitHub Actions workflow to automate future releases.
PR #42 introduces the following updates:
- We have changed the identifier logic in
src_zendesk.yml
to account forgroup
being both a Snowflake reserved word and a source table. Snowflake users will want to execute adbt run --full-refresh
before using the new version of the package.
- Updated our
tmp
models to utilize thedbt_utils.star
macro rather than the select * function. This removes Snowflake issues that arise when a source's dimensions change.
- Updates to the seed files and seed file configurations for the package integration tests to ensure updates are properly tested.
- Adding the
schedule_holiday
source table so that downstream models that involve business minutes calculations will accurately take holiday time into account. This staging model may be disabled by settingusing_schedules
to false. (#92)
- Incorporated the new
fivetran_utils.drop_schemas_automation
macro into the end of each Buildkite integration test job. (#37) - Updated the pull request templates. (#37)
- Updated the dbt-utils dispatch within the
stg_zendesk__ticket_schedule_tmp
model to properly dispatchdbt
as opposed todbt_utils
for the cross-db-macros. (#32)
PR #31 includes the following breaking changes:
- Dispatch update for dbt-utils to dbt-core cross-db macros migration. Specifically
{{ dbt_utils.<macro> }}
have been updated to{{ dbt.<macro> }}
for the below macros:any_value
bool_or
cast_bool_to_text
concat
date_trunc
dateadd
datediff
escape_single_quotes
except
hash
intersect
last_day
length
listagg
position
replace
right
safe_cast
split_part
string_literal
type_bigint
type_float
type_int
type_numeric
type_string
type_timestamp
array_append
array_concat
array_construct
- For
current_timestamp
andcurrent_timestamp_in_utc
macros, the dispatch AND the macro names have been updated to the below, respectively:dbt.current_timestamp_backcompat
dbt.current_timestamp_in_utc_backcompat
- Dependencies on
fivetran/fivetran_utils
have been upgraded, previously[">=0.3.0", "<0.4.0"]
now[">=0.4.0", "<0.5.0"]
.
🚨 This includes Breaking Changes! 🚨
- Updated README documentation for easier navigation and dbt package setup (#28).
- Included the
zendesk_[source_table_name]_identifier
variables for easier flexibility of the package models to refer to differently named sources tables (#28). - Databricks compatibility 🧱 (#29)
- By default, this package now builds the Zendesk staging models within a schema titled (
<target_schema>
+_zendesk_source
) in your target database. This was previously<target_schema>
+_zendesk_staging
, but we have changed it to maintain consistency with our other packges. See the README for instructions on how to configure the build schema differently.
- The
stg_zendesk__ticket
table now allows for your custom passthrough columns to be added via thezendesk__ticket_passthrough_columns
variable. You can add your passthrough columns as a list within the variable in your project configuration. (#27)
- Incorporates the
daylight_time
andtime_zone
source tables into the package. In the transform package, these tables are used to more precisely calculate business hour metrics (#62).
🎉 dbt v1.0.0 Compatibility 🎉
- Adjusts the
require-dbt-version
to now be within the range [">=1.0.0", "<2.0.0"]. Additionally, the package has been updated for dbt v1.0.0 compatibility. If you are using a dbt version <1.0.0, you will need to upgrade in order to leverage the latest version of the package.- For help upgrading your package, I recommend reviewing this GitHub repo's Release Notes on what changes have been implemented since your last upgrade.
- For help upgrading your dbt project to dbt v1.0.0, I recommend reviewing dbt-labs upgrading to 1.0.0 docs for more details on what changes must be made.
- Upgrades the package dependency to refer to the latest
dbt_fivetran_utils
. The latestdbt_fivetran_utils
package also has a dependency ondbt_utils
[">=0.8.0", "<0.9.0"].- Please note, if you are installing a version of
dbt_utils
in yourpackages.yml
that is not in the range above then you will encounter a package dependency error.
- Please note, if you are installing a version of
- Adjusted timestamp fields within staging models to explicitly cast the data type as
timestamp without time zone
. This fixes a Redshift error where downstream datediff and dateadd functions would result in an error if the timestamp fields are synced astimestamp_tz
. (#23)
- @juanbriones (#55)
Refer to the relevant release notes on the Github repository for specific details for the previous releases. Thank you!