Skip to content

Commit 14923fd

Browse files
[Feature] Sprint enhanced models & daily sprint-issue history (to build velocity report) (#136)
* Add sprint metrics * remove unified rag * add more sprint metrics * Final updates for sprint metrics, add sprint story points models * syntax * syntax * syntax * syntax * requirements.txt + yml * requirements.txt + yml * yml config * yml config * schema * tests + docs * requirements.txt * Jira sprint report updates, new enhanced model with sprint_issue_history * seed * New sprint issue history and sprint enhanced models * Updated logic for sprint issue history and sprint enhanced * New updates * reset dbt_project.yml * Docs * test databricks sql warehouse fix * test databricks sql warehouse fix * Apply suggestions from code review Co-authored-by: Joe Markiewicz <[email protected]> * PR review * Add certifi, more PR review updates * Final PR review notes * Release review notes * Update packages.yml --------- Co-authored-by: Joe Markiewicz <[email protected]>
1 parent 254485a commit 14923fd

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+1009
-239
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ target/
22
dbt_modules/
33
logs/
44
.DS_Store
5-
models/intermediate/int_jira__all_field_options.sql
5+
env/
66
dbt_packages/
77
package-lock.yml

.quickstart/quickstart.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ destination_configurations:
2121

2222
public_models: [
2323
"jira__daily_issue_field_history",
24+
"jira__daily_sprint_issue_history",
2425
"jira__user_enhanced",
2526
"jira__issue_enhanced",
26-
"jira__project_enhanced"
27+
"jira__project_enhanced",
28+
"jira__sprint_enhanced"
2729
]

CHANGELOG.md

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,35 @@
1-
# dbt_jira version.version
1+
# dbt_jira v0.20.0
2+
This release includes the following updates.
3+
4+
**8 total changes • 6 possible breaking changes (requires a --full-refresh run after upgrading)**
5+
6+
| Data Model | Change Type | Old Name | New Name | Notes |
7+
|---------------------------------------------------|-------------|----------|-------------------------------------------|-------------------------------------------------------------------|
8+
| [jira__daily_sprint_issue_history](https://fivetran.github.io/dbt_jira/#!/model/model.jira.jira__daily_sprint_issue_history) | New Model | | | Each record represents a snapshot of a sprint and its assorted issues on a given day between the sprint start date and the most recent update to the sprint. |
9+
| [jira__sprint_enhanced](https://fivetran.github.io/dbt_jira/#!/model/model.jira.jira__sprint_enhanced) | New Model | | | This model provides enhanced sprint-level metrics in Jira, incorporating data from sprints, sprint-related issue history, and sprint-based story points tracking. |
10+
| [jira__daily_issue_field_history](https://fivetran.github.io/dbt_jira/#!/model/model.jira.jira__daily_issue_field_history) | New Columns | | `story_points`, `story_point_estimate` | Adding story point fields by default to persist to sprint/issue end models. |
11+
| [jira__issue_enhanced](https://fivetran.github.io/dbt_jira/#!/model/model.jira.jira__issue_enhanced) | New Columns | | `story_points`, `story_point_estimate` | Adding story point fields by default to persist to sprint/issue end models. |
12+
| [jira__user_enhanced](https://fivetran.github.io/dbt_jira/#!/model/model.jira.jira__user_enhanced) | New Columns | | `is_active` | Helps show the active user records. |
13+
| [stg_jira__issue_multiselect_history](https://fivetran.github.io/dbt_jira_source/#!/model/model.jira_source.stg_jira__issue_multiselect_history) | New Columns | | `is_active` | Shows which of the field history values is the current one. |
14+
| [stg_jira__issue_field_history](https://fivetran.github.io/dbt_jira_source/#!/model/model.jira_source.stg_jira__issue_field_history) | New Columns | | `is_active` | Shows which of the field history values is the current one. |
15+
| [stg_jira__issue_user](https://fivetran.github.io/dbt_jira_source/#!/model/model.jira_source.stg_jira__issue_user) | New Columns | | `is_active` | Shows which of the field history values is the current one. |
16+
17+
## Breaking Changes
18+
- Added `story_points` and `story_point_estimate` as default fields in the `jira__daily_issue_field_history` and `jira__issue_enhanced` models. ([#136](https://github.com/fivetran/dbt_jira/pull/136))
19+
- **Important**: These fields are now included by default. If your `issue_field_history_columns` variable already includes `story_points` or `story_point_estimate`, you must remove them and run a `--full-refresh` to avoid duplication errors.
20+
21+
## Feature Updates: New Sprint Reports
22+
- Introduced two new models: `jira__daily_sprint_issue_history` to look at daily sprint issue snapshots, and `jira__sprint_enhanced` to examine high level sprint metrics, such as velocity, time tracking and story point completion. Customers should now be able to build valuable sprint visualizations, like their own velocity reports, estimation tracking, and goal metrics. ([#136](https://github.com/fivetran/dbt_jira/pull/136))
23+
- If users are not utilizing the `sprint` source, these models can be disabled by setting the variable `jira_using_sprints` to `false`. More instructions [are available in the README](https://github.com/fivetran/dbt_jira?tab=readme-ov-file#step-4-disable-models-for-non-existent-sources). ([#136](https://github.com/fivetran/dbt_jira/pull/136))
24+
25+
## Under the Hood
26+
- Added consistency and integrity tests for the `jira__sprint_enhanced` model. ([#136](https://github.com/fivetran/dbt_jira/pull/136))
27+
- Added new `jira__daily_sprint_issue_history` and `jira__sprint_enhanced` to public models in the `quickstart.yml` configuration. ([#136](https://github.com/fivetran/dbt_jira/pull/136))
28+
- Corrected formatting on intermediate and end models to conform with best practices and improve readability. ([#136](https://github.com/fivetran/dbt_jira/pull/136))
229

330
## Documentation
31+
- Updated yml documentation and README with new models, fields and descriptions. ([#136](https://github.com/fivetran/dbt_jira/pull/136))
32+
- [Created a DECISIONLOG](https://github.com/fivetran/dbt_jira/blob/main/DECISIONLOG.md#enhancing-jira-sprint-reporting-with-flexible-metrics) to explain why we bring in multiple metrics from current sprint data as well as historical sprint data for the `jira__sprint_enhanced` model. ([#136](https://github.com/fivetran/dbt_jira/pull/136))
433
- Added Quickstart model counts to README. ([#135](https://github.com/fivetran/dbt_jira/pull/135))
534
- Corrected references to connectors and connections in the README. ([#135](https://github.com/fivetran/dbt_jira/pull/135))
635

DECISIONLOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Decision Log
2+
In creating this package, which is meant for a wide range of use cases, we had to take opinionated stances on a few different questions we came across during development. We've consolidated significant choices we made here, and will continue to update as the package evolves.
3+
4+
## Enhancing Jira Sprint Reporting with Flexible Metrics
5+
To improve sprint reporting in the Jira dbt package, we introduced two new models, `jira__daily_sprint_issue_history` and `jira__sprint_enhanced`, designed to capture key sprint metrics such as velocity, time tracking, and story point completion.
6+
7+
If further refinements or reporting is needed for the sprint report, customers can submit a feature request by clicking the [New Issue button in our package issue page](https://github.com/fivetran/dbt_jira/issues).

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@
186186
same "printed page" as the copyright notice for easier
187187
identification within third-party archives.
188188

189-
Copyright [yyyy] [name of copyright owner]
189+
Copyright © 2025 Fivetran Inc.
190190

191191
Licensed under the Apache License, Version 2.0 (the "License");
192192
you may not use this file except in compliance with the License.

README.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
<p align="center">
1+
# Jira Transformation dbt Package ([Docs](https://fivetran.github.io/dbt_jira/))
2+
3+
<p align="left">
24
<a alt="License"
35
href="https://github.com/fivetran/dbt_jira/blob/main/LICENSE">
46
<img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg" /></a>
@@ -13,13 +15,12 @@
1315
<img src="https://img.shields.io/badge/Fivetran_Quickstart_Compatible%3F-yes-green.svg" /></a>
1416
</p>
1517

16-
# Jira Transformation dbt Package ([Docs](https://fivetran.github.io/dbt_jira/))
1718
## What does this dbt package do?
1819
- Produces modeled tables that leverage Jira data from [Fivetran's connector](https://fivetran.com/docs/applications/jira) in the format described by [this ERD](https://fivetran.com/docs/applications/jira#schemainformation) and builds off the output of our [Jira source package](https://github.com/fivetran/dbt_jira_source).
1920
- Enables you to better understand the workload, performance, and velocity of your team's work using Jira issues. It performs the following actions:
2021
- Creates a daily issue history table so you can quickly create agile reports, such as burndown charts, along any issue field.
2122
- Enriches the core issue table with relevant data regarding its workflow and current state.
22-
- Aggregates bandwidth and issue velocity metrics along projects and users.
23+
- Aggregates bandwidth and issue velocity metrics along projects, users and sprints.
2324
- Generates a comprehensive data dictionary of your source and modeled Jira data through the [dbt docs site](https://fivetran.github.io/dbt_jira/).
2425

2526
<!--section="jira_transformation_model"-->
@@ -32,8 +33,11 @@ The following table provides a detailed list of all tables materialized within t
3233
| [jira__issue_enhanced](https://fivetran.github.io/dbt_jira/#!/model/model.jira.jira__issue_enhanced) | Each record represents a Jira issue, enriched with data about its current assignee, reporter, sprint, epic, project, resolution, issue type, priority, and status. It also includes metrics reflecting assignments, sprint rollovers, and re-openings of the issue. Note that all epics are considered `issues` in Jira and are therefore included in this model (where `issue_type='epic'`). |
3334
| [jira__project_enhanced](https://fivetran.github.io/dbt_jira/#!/model/model.jira.jira__project_enhanced) | Each record represents a project, enriched with data about the users involved, how many issues have been opened or closed, the velocity of work, and the breadth of the project (i.e., its components and epics). |
3435
| [jira__user_enhanced](https://fivetran.github.io/dbt_jira/#!/model/model.jira.jira__user_enhanced) | Each record represents a user, enriched with metrics regarding their open issues, completed issues, the projects they work on, and the velocity of their work. |
36+
| [jira__sprint_enhanced](https://fivetran.github.io/dbt_jira/#!/model/model.jira.jira__sprint_enhanced) | Each record represents a sprint, enriched with metrics regarding issues created, brought into, and resolved in the sprint, the story points estimated and worked, and the velocity of work completed. |
37+
| [jira__daily_sprint_issue_history](https://fivetran.github.io/dbt_jira/#!/model/model.jira.jira__daily_sprint_issue_history) | Each record represents a snapshot of a sprint and its assorted issues on a given day between the sprint start date and the most recent update to the sprint. |
38+
3539
### Materialized Models
36-
Each Quickstart transformation job run materializes 43 models if all components of this data model are enabled. This count includes all staging, intermediate, and final models materialized as `view`, `table`, or `incremental`.
40+
Each Quickstart transformation job run materializes 44 models if all components of this data model are enabled. This count includes all staging, intermediate, and final models materialized as `view`, `table`, or `incremental`.
3741
<!--section-end-->
3842

3943
## How do I use the dbt package?
@@ -68,7 +72,7 @@ Include the following jira package version in your `packages.yml` file:
6872
```yaml
6973
packages:
7074
- package: fivetran/jira
71-
version: [">=0.19.0", "<0.20.0"]
75+
version: [">=0.20.0", "<0.21.0"]
7276
7377
```
7478
### Step 3: Define database and schema variables
@@ -109,7 +113,7 @@ vars:
109113
```
110114
111115
#### Define daily issue field history columns
112-
The `jira__daily_issue_field_history` model generates historical data for the columns specified by the `issue_field_history_columns` variable. By default, the only columns tracked are `status`, `status_id`, and `sprint`, but all fields found in the Jira `FIELD` table's `field_name` column can be included in this model. The most recent value of any tracked column is also captured in `jira__issue_enhanced`.
116+
The `jira__daily_issue_field_history` model generates historical data for the columns specified by the `issue_field_history_columns` variable. By default, the only columns tracked are `status`, `status_id`,`sprint`, `story_points` and `story_point_estimate`, but all fields found in the Jira `FIELD` table's `field_name` column can be included in this model. The most recent value of any tracked column is also captured in `jira__issue_enhanced`.
113117

114118
If you would like to change these columns, add the following configuration to your `dbt_project.yml` file. After adding the columns to your `dbt_project.yml` file, run the `dbt run --full-refresh` command to fully refresh any existing models:
115119

@@ -184,7 +188,7 @@ This dbt package is dependent on the following dbt packages. These dependencies
184188
```yml
185189
packages:
186190
- package: fivetran/jira_source
187-
version: [">=0.7.0", "<0.8.0"]
191+
version: [">=0.8.0", "<0.9.0"]
188192
189193
- package: fivetran/fivetran_utils
190194
version: [">=0.4.0", "<0.5.0"]

dbt_project.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: 'jira'
2-
version: '0.19.0'
2+
version: '0.20.0'
33
config-version: 2
44
require-dbt-version: [">=1.3.0", "<2.0.0"]
55
vars:

docs/catalog.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

docs/index.html

Lines changed: 214 additions & 39 deletions
Large diffs are not rendered by default.

docs/manifest.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)