You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+20Lines changed: 20 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,23 @@
1
+
# dbt_zendesk v1.0.0
2
+
3
+
[PR #211](https://github.com/fivetran/dbt_zendesk/pull/211) includes the following updates:
4
+
5
+
## Breaking Changes
6
+
7
+
### Source Package Consolidation
8
+
- Removed the dependency on the `fivetran/zendesk_source` package.
9
+
- All functionality from the source package has been merged into this transformation package for improved maintainability and clarity.
10
+
- If you reference `fivetran/zendesk_source` in your `packages.yml`, you must remove this dependency to avoid conflicts.
11
+
- Any source overrides referencing the `fivetran/zendesk_source` package will also need to be removed or updated to reference this package.
12
+
- Update any zendesk_source-scoped variables to be scoped to only under this package. See the [README](https://github.com/fivetran/dbt_zendesk/blob/main/README.md) for how to configure the build schema of staging models.
13
+
- As part of the consolidation, vars are no longer used to reference staging models, and only sources are represented by vars. Staging models are now referenced directly with `ref()` in downstream models.
14
+
15
+
### dbt Fusion Compatibility Updates
16
+
- Updated package to maintain compatibility with dbt-core versions both before and after v1.10.6, which introduced a breaking change to multi-argument test syntax (e.g., `unique_combination_of_columns`).
17
+
- Temporarily removed unsupported tests to avoid errors and ensure smoother upgrades across different dbt-core versions. These tests will be reintroduced once a safe migration path is available.
18
+
- Removed all `dbt_utils.unique_combination_of_columns` tests.
19
+
- Moved `loaded_at_field: _fivetran_synced` under the `config:` block in `src_zendesk.yml`.
Copy file name to clipboardExpand all lines: README.md
+18-25Lines changed: 18 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
# Zendesk Support Modeling dbt Package ([Docs](https://fivetran.github.io/dbt_zendesk/))
1
+
# Zendesk Support dbt Package ([Docs](https://fivetran.github.io/dbt_zendesk/))
2
2
3
3
<palign="left">
4
4
<a alt="License"
@@ -16,7 +16,7 @@
16
16
</p>
17
17
18
18
## What does this dbt package do?
19
-
- Produces modeled tables that leverage Zendesk Support data from [Fivetran's connector](https://fivetran.com/docs/applications/zendesk) in the format described by [this ERD](https://fivetran.com/docs/applications/zendesk#schemainformation) and build off the output of our [zendesk source package](https://github.com/fivetran/dbt_zendesk_source).
19
+
- Produces modeled tables that leverage Zendesk Support data from [Fivetran's connector](https://fivetran.com/docs/applications/zendesk) in the format described by [this ERD](https://fivetran.com/docs/applications/zendesk#schemainformation).
20
20
- Enables you to better understand the performance of your Support team. It calculates metrics focused on response times, resolution times, and work times for you to analyze. It performs the following actions:
21
21
- Creates an enriched ticket model with relevant resolution, response time, and other metrics
22
22
- Produces a historical ticket field history model to see velocity of your tickets over time
@@ -68,9 +68,9 @@ Include the following zendesk package version in your `packages.yml` file:
68
68
```yml
69
69
packages:
70
70
- package: fivetran/zendesk
71
-
version: [">=0.25.0", "<0.26.0"]
71
+
version: [">=1.0.0", "<1.1.0"]
72
72
```
73
-
> **Note**: Do not include the Zendesk Support source package. The Zendesk Support transform package already has a dependency on the source in its own `packages.yml` file.
73
+
> All required sources and staging models are now bundled into this transformation package. Do not include `fivetran/zendesk_source` in your `packages.yml` since this package has been deprecated.
74
74
75
75
### Step 3: Define database and schema variables
76
76
#### Option A: Single connection
@@ -93,7 +93,7 @@ To use this functionality, you will need to set the `zendesk_sources` variable i
name: connection_1_source_name # Required only if following the step in the following subsection
@@ -109,7 +109,7 @@ vars:
109
109
By default, this package defines one single-connection source, called `zendesk`, which will be disabled if you are unioning multiple connections. This means that your DAG will not include your Zendesk sources, though the package will run successfully.
110
110
111
111
To properly incorporate all of your Zendesk connections into your project's DAG:
112
-
1. Define each of your sources in a `.yml` file in your project. Utilize the following template for the `source`-level configurations, and, **most importantly**, copy and paste the table and column-level definitions from the package's `src_zendesk.yml` [file](https://github.com/fivetran/dbt_zendesk_source/blob/main/models/src_zendesk.yml#L15-L351).
112
+
1. Define each of your sources in a `.yml` file in your project. Utilize the following template for the `source`-level configurations, and, **most importantly**, copy and paste the table and column-level definitions from the package's `src_zendesk.yml` [file](https://github.com/fivetran/dbt_zendesk/blob/main/models/staging/src_zendesk.yml#L15-L351).
113
113
114
114
```yml
115
115
# a .yml file in your root project
@@ -124,16 +124,16 @@ sources:
124
124
warn_after: {count: 72, period: hour}
125
125
error_after: {count: 168, period: hour}
126
126
127
-
tables: # copy and paste from zendesk_source/models/src_zendesk.yml - see https://support.atlassian.com/bitbucket-cloud/docs/yaml-anchors/ for how to use anchors to only do so once
127
+
tables: # copy and paste from zendesk/models/staging/src_zendesk.yml - see https://support.atlassian.com/bitbucket-cloud/docs/yaml-anchors/ for how to use anchors to only do so once
128
128
```
129
129
130
-
> **Note**: If there are source tables you do not have (see [Step 4](https://github.com/fivetran/dbt_zendesk_source?tab=readme-ov-file#step-4-disable-models-for-non-existent-sources)), you may still include them, as long as you have set the right variables to `False`. Otherwise, you may remove them from your source definition.
130
+
> **Note**: If there are source tables you do not have (see [Step 4](https://github.com/fivetran/dbt_zendesk?tab=readme-ov-file#step-4-disable-models-for-non-existent-sources)), you may still include them, as long as you have set the right variables to `False`. Otherwise, you may remove them from your source definition.
131
131
132
-
2. Set the `has_defined_sources` variable (scoped to the `zendesk_source` package) to `True`, like such:
132
+
2. Set the `has_defined_sources` variable (scoped to the `zendesk` package) to `True`, like such:
133
133
```yml
134
134
# dbt_project.yml
135
135
vars:
136
-
zendesk_source:
136
+
zendesk:
137
137
has_defined_sources: true
138
138
```
139
139
@@ -221,7 +221,7 @@ Example usage:
221
221
```yml
222
222
# dbt_project.yml
223
223
vars:
224
-
zendesk_source:
224
+
zendesk:
225
225
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
226
226
```
227
227
@@ -265,22 +265,18 @@ By default this package will build the Zendesk Support staging models within a s
265
265
266
266
```yml
267
267
models:
268
-
zendesk:
269
-
+schema: my_new_schema_name # leave blank for just the target_schema
270
-
intermediate:
271
-
+schema: my_new_schema_name # leave blank for just the target_schema
272
-
sla_policy:
273
-
+schema: my_new_schema_name # leave blank for just the target_schema
274
-
ticket_history:
275
-
+schema: my_new_schema_name # leave blank for just the target_schema
276
-
zendesk_source:
277
-
+schema: my_new_schema_name # leave blank for just the target_schema
268
+
zendesk:
269
+
+schema: my_new_schema_name # Leave +schema: blank to use the default target_schema.
270
+
intermediate:
271
+
+schema: my_new_schema_name # Leave +schema: blank to use the default target_schema.
272
+
staging:
273
+
+schema: my_new_schema_name # Leave +schema: blank to use the default target_schema.
278
274
```
279
275
280
276
#### Change the source table references
281
277
If an individual source table has a different name than the package expects, add the table name as it appears in your destination to the respective variable:
282
278
283
-
> IMPORTANT: See this project's [`dbt_project.yml`](https://github.com/fivetran/dbt_zendesk_source/blob/main/dbt_project.yml) variable declarations to see the expected names.
279
+
> IMPORTANT: See this project's [`dbt_project.yml`](https://github.com/fivetran/dbt_zendesk/blob/main/dbt_project.yml) variable declarations to see the expected names.
284
280
285
281
```yml
286
282
vars:
@@ -302,9 +298,6 @@ This dbt package is dependent on the following dbt packages. These dependencies
4323.953441.T6OrgbvMIqPplK,2023-12-08 05:07:28.408000,2024-03-19 16:51:30.989000,403959218893,0,,,,No problem. Just share a few details and I'll connect you with someone from our team.,,,,"{""author"":{""avatar_url"":""url"",""display_name"":""Company Bot"",""type"":""BUSINESS""},""content"":{""text"":{""actions"":[],""text"":""Thanks. Let me connect you with a customer support agent.""}},""id"":""658d843188000ddefeeba3f2"",""metadata"":{""fields"":{}},""received"":""2023-12-28T14:20:33.333Z"",""source"":{""type"":""zd:answerBot""}}",,,,,,,ChatMessage,
8
8
4323.953441.TzkBGrapJoA,2023-12-28 14:22:12.840000,2024-03-19 16:51:21.702000,403969141094,0,,,,No problem. Just share a few details and I'll connect you with someone from our team.,,,,"{""author"":{""avatar_url"":""url"",""display_name"":""Company Bot"",""type"":""BUSINESS""},""content"":{""form"":{""block_chat_input"":false,""fields"":[{""label"":""Name"",""name"":""dataCapture.systemField.requester.name"",""text"":{""max_size"":256,""min_size"":1,""text"":""Name""}},{""email"":{""email"":""email""},""label"":""Email"",""name"":""dataCapture.systemField.requester.email""}]}},""id"":""658d841e69c2dcac0bc5a"",""metadata"":{""fields"":{""formId"":{""string_value"":""DataCaptureForm""},""nextNodeId"":{""string_value"":""01HEYB2GDS9HSRDAV_01HJRCQ1Y5EDYFHKZ6""},""nodeId"":{""string_value"":""01HJRCQ1Y4MJEYB2GDS9HSRDAV_01HJRCQ1NZJ77B4""}}},""received"":""2023-12-28T14:20:14.563Z"",""source"":{""type"":""zd:answerBot""}}",,,,,,,ChatMessage,
9
9
4323.953441.TzkArUd3CjKI,2023-12-28 14:20:35.032000,2024-03-19 16:51:23.267000,403959218893,0,,,,Hi there. Got a question? I'm here to help.,,,,"{""author"":{""avatar_url"":""url"",""display_name"":""Company Bot"",""type"":""BUSINESS""},""content"":{""text"":{""actions"":[],""text"":""No problem. Just share a few details and I'll connect you with someone from our team.""}},""id"":""658d8481d00e97935de863ab"",""metadata"":{""fields"":{}},""received"":""2023-12-28T14:21:53.345Z"",""source"":{""type"":""zd:answerBot""}}",,,,,,,ChatMessage,
10
-
4323.953441.TzAcedetjkcKyq,2023-12-22 10:37:20.489000,2024-03-19 16:51:25.454000,403969141094,0,,,,,,,,"{""author"":{""avatar_url"":""url"",""display_name"":""Company Bot"",""type"":""BUSINESS""},""content"":{""text"":{""actions"":[],""text"":""No problem. Just share a few details and I'll connect you with someone from our team.""}},""id"":""65bce6a92a2fe21c"",""metadata"":{""fields"":{}},""received"":""2024-02-02T12:57:13.130Z"",""source"":{""type"":""zd:answerBot""}}",,,,,,,ChatMessage,
11
-
4323.953441.TyDt23helloZt4E,2023-12-12 11:20:10.181000,2024-03-19 16:51:27.764000,403959218893,0,,,,TALK TO A HUMAN,,,,"{""author"":{""avatar_url"":""url"",""display_name"":""Company Bot"",""type"":""BUSINESS""},""content"":{""text"":{""actions"":[{""reply"":{""payload"":""goto_node=01HJRCSAC466_01HJRCSAC4FV78SSW""},""text"":""Talk to a human""}],""text"":""Hi there. Got a question? I'm here to help.""}},""id"":""65bce6a06765305e2a2fd629"",""metadata"":{""fields"":{}},""received"":""2024-02-02T12:57:04.171Z"",""source"":{""type"":""zd:answerBot""}}",,,,,,,ChatMessage,
10
+
4323.953441.TzAcedetjkcKyq,2023-12-22 10:37:20.489000,2024-03-19 16:51:25.454000,__system,0,,,,,,,,"{""author"":{""avatar_url"":""url"",""display_name"":""Company Bot"",""type"":""BUSINESS""},""content"":{""text"":{""actions"":[],""text"":""No problem. Just share a few details and I'll connect you with someone from our team.""}},""id"":""65bce6a92a2fe21c"",""metadata"":{""fields"":{}},""received"":""2024-02-02T12:57:13.130Z"",""source"":{""type"":""zd:answerBot""}}",,,,,,,ChatMessage,
11
+
4323.953441.TyDt23helloZt4E,2023-12-12 11:20:10.181000,2024-03-19 16:51:27.764000,__trigger,0,,,,TALK TO A HUMAN,,,,"{""author"":{""avatar_url"":""url"",""display_name"":""Company Bot"",""type"":""BUSINESS""},""content"":{""text"":{""actions"":[{""reply"":{""payload"":""goto_node=01HJRCSAC466_01HJRCSAC4FV78SSW""},""text"":""Talk to a human""}],""text"":""Hi there. Got a question? I'm here to help.""}},""id"":""65bce6a06765305e2a2fd629"",""metadata"":{""fields"":{}},""received"":""2024-02-02T12:57:04.171Z"",""source"":{""type"":""zd:answerBot""}}",,,,,,,ChatMessage,
12
+
4323.953441.TzBlankActor,2023-12-31 11:00:00.000000,2024-03-19 16:51:25.454000,"",0,,,,Blank id example,,,,"{""author"":{""avatar_url"":""url"",""display_name"":""Company Bot"",""type"":""BUSINESS""},""content"":{""text"":{""actions"":[],""text"":""Example message""}},""id"":""dummy_blank_actor"",""metadata"":{""fields"":{}},""received"":""2024-02-02T12:57:13.130Z"",""source"":{""type"":""zd:answerBot""}}",,,,,,,ChatMessage,
13
+
4323.953441.TzBlankActorTwo,2023-12-31 11:00:00.000000,2024-03-19 16:51:25.454000,agent:,0,,,,Blank id example two,,,,"{""author"":{""avatar_url"":""url"",""display_name"":""Company Bot"",""type"":""BUSINESS""},""content"":{""text"":{""actions"":[],""text"":""Example message""}},""id"":""dummy_blank_actor"",""metadata"":{""fields"":{}},""received"":""2024-02-02T12:57:13.130Z"",""source"":{""type"":""zd:answerBot""}}",,,,,,,ChatMessage,
0 commit comments