Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/sprint enhanced velocity report #43

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,6 @@ target/
dbt_modules/
logs/
.DS_Store
dbt_packages/
dbt_packages/
env/
package-log.yml
12 changes: 11 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,14 @@
# dbt_jira_source version.version
# dbt_jira_source v0.8.0

## Breaking Changes
- Added the new `is_active` field to the following models so customers can easily find active records.
- `stg_jira__issue_field_history`
- `stg_jira__issue_multiselect_history`
- `stg_jira__user`

## New Upstream Model: Sprint Reporting
- We introduce new sprint reporting to the upstream package! This will help us 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.
- You can find more details in the [v0.20.0 release notes of `dbt_jira`](https://github.com/fivetran/dbt_jira/releases/tag/v0.20.0).

## Documentation
- Corrected references to connectors and connections in the README. ([#42](https://github.com/fivetran/dbt_jira_source/pull/42))
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]
Copyright © 2025 Fivetran Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Include the following jira_source package version in your `packages.yml` file.
```yaml
packages:
- package: fivetran/jira_source
version: [">=0.7.0", "<0.8.0"]
version: [">=0.8.0", "<0.9.0"]
```
### Step 3: Define database and schema variables
By default, this package runs using your destination and the `jira` schema. If this is not where your Jira data is (for example, if your Jira schema is named `jira_fivetran`), add the following configuration to your root `dbt_project.yml` file:
Expand Down
2 changes: 1 addition & 1 deletion dbt_project.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: 'jira_source'
version: '0.7.0'
version: '0.8.0'
config-version: 2
require-dbt-version: [">=1.3.0", "<2.0.0"]
vars:
Expand Down
2 changes: 1 addition & 1 deletion docs/catalog.json

Large diffs are not rendered by default.

274 changes: 211 additions & 63 deletions docs/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/manifest.json

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion docs/run_results.json

This file was deleted.

3 changes: 3 additions & 0 deletions integration_tests/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,7 @@
target/
dbt_modules/
logs/
.DS_Store
dbt_packages/
env/
package-lock.yml
10 changes: 5 additions & 5 deletions integration_tests/ci/sample.profiles.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,13 @@ integration_tests:
pass: "{{ env_var('CI_REDSHIFT_DBT_PASS') }}"
dbname: "{{ env_var('CI_REDSHIFT_DBT_DBNAME') }}"
port: 5439
schema: jira_source_integration_tests_02
schema: jira_source_integration_tests_03
threads: 8
bigquery:
type: bigquery
method: service-account-json
project: 'dbt-package-testing'
schema: jira_source_integration_tests_02
schema: jira_source_integration_tests_03
threads: 8
keyfile_json: "{{ env_var('GCLOUD_SERVICE_KEY') | as_native }}"
snowflake:
Expand All @@ -33,7 +33,7 @@ integration_tests:
role: "{{ env_var('CI_SNOWFLAKE_DBT_ROLE') }}"
database: "{{ env_var('CI_SNOWFLAKE_DBT_DATABASE') }}"
warehouse: "{{ env_var('CI_SNOWFLAKE_DBT_WAREHOUSE') }}"
schema: jira_source_integration_tests_02
schema: jira_source_integration_tests_03
threads: 8
postgres:
type: postgres
Expand All @@ -42,13 +42,13 @@ integration_tests:
pass: "{{ env_var('CI_POSTGRES_DBT_PASS') }}"
dbname: "{{ env_var('CI_POSTGRES_DBT_DBNAME') }}"
port: 5432
schema: jira_source_integration_tests_02
schema: jira_source_integration_tests_03
threads: 8
databricks:
catalog: "{{ env_var('CI_DATABRICKS_DBT_CATALOG') }}"
host: "{{ env_var('CI_DATABRICKS_DBT_HOST') }}"
http_path: "{{ env_var('CI_DATABRICKS_DBT_HTTP_PATH') }}"
schema: jira_source_integration_tests_02
schema: jira_source_integration_tests_03
threads: 8
token: "{{ env_var('CI_DATABRICKS_DBT_TOKEN') }}"
type: databricks
Expand Down
4 changes: 2 additions & 2 deletions integration_tests/dbt_project.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
name: 'jira_source_integration_tests'
version: '0.7.0'
version: '0.8.0'
config-version: 2
profile: 'integration_tests'


vars:
jira_schema: jira_source_integration_tests_02
jira_schema: jira_source_integration_tests_03
jira_source:
jira_comment_identifier: "comment"
jira_component_identifier: "component"
Expand Down
14 changes: 8 additions & 6 deletions integration_tests/seeds/issue_field_history.csv
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
field_id,issue_id,time,_fivetran_synced,value
created,10027,2020-11-10 19:19:41.472,2020-11-12 12:20:53.478,2020-11-10T19:19:41.472Z
customfield_10104,10027,2020-11-10 19:19:41.472,2020-11-12 12:20:53.472,3.0
summary,10027,2020-11-10 19:19:41.472,2020-11-12 12:20:53.500,"As a developer, I'd like to update story status during the sprint >> Click the Active sprints link at the top right of the screen to go to the Active sprints where the current Sprint's items can be updated"
components,10018,2020-11-10 19:19:41.472,2020-11-19 12:20:53.500,10019
summary,10018,2020-11-10 19:19:41.472,2020-11-19 12:20:53.500,10026
field_id,issue_id,time,_fivetran_synced,value,is_active
created,10027,2020-11-10 19:19:41.472,2020-11-12 12:20:53.478,2020-11-10T19:19:41.472Z,true
customfield_10104,10027,2020-11-10 19:19:41.472,2020-11-12 12:20:53.472,3.0,true
summary,10027,2020-11-10 19:19:41.472,2020-11-12 12:20:53.500,"As a developer, I'd like to update story status during the sprint >> Click the Active sprints link at the top right of the screen to go to the Active sprints where the current Sprint's items can be updated",true
components,10018,2020-11-10 19:19:41.472,2020-11-19 12:20:53.500,10019,true
summary,10018,2020-11-10 19:19:41.472,2020-11-19 12:20:53.500,10026,true
epic,10015,2020-11-10 19:19:41.472,2020-11-19 12:20:53.500,1111111,true
epiclink,10018,2020-11-10 19:19:41.472,2020-11-12 12:20:53.500,https://ulr-here/epic-key,true
10 changes: 5 additions & 5 deletions integration_tests/seeds/issue_multiselect_history.csv
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
_fivetran_id,time,_fivetran_synced,field_id,issue_id,value
w4UiT+hPMxJp3RhL/YFJm3uWL5U=,2020-11-10 19:19:41.472,2020-11-12 12:20:53.506,subtasks,10027,0
4pVgGn0qSqR2hCmMdo4wWHXmgew=,2020-11-10 19:19:41.472,2020-11-12 12:20:53.479,customfield_10021,10027,0
/zrY8m6q0VMW6ia1jGIerXqLIgQ=,2020-11-10 19:19:41.472,2020-11-12 12:20:53.479,customfield_10020,10027,0
3p3gGn0qSqR2hCmMdo4wWHXa32m=,2020-11-10 19:19:41.472,2020-11-12 12:20:53.479,components,10027,0
_fivetran_id,time,_fivetran_synced,field_id,issue_id,value,is_active
w4UiT+hPMxJp3RhL/YFJm3uWL5U=,2020-11-10 19:19:41.472,2020-11-12 12:20:53.506,subtasks,10027,0,true
4pVgGn0qSqR2hCmMdo4wWHXmgew=,2020-11-10 19:19:41.472,2020-11-12 12:20:53.479,customfield_10021,10027,0,true
/zrY8m6q0VMW6ia1jGIerXqLIgQ=,2020-11-10 19:19:41.472,2020-11-12 12:20:53.479,customfield_10020,10027,0,true
3p3gGn0qSqR2hCmMdo4wWHXa32m=,2020-11-10 19:19:41.472,2020-11-12 12:20:53.479,components,10027,0,true
8 changes: 4 additions & 4 deletions integration_tests/seeds/user.csv
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
id,_fivetran_synced,email,locale,name,time_zone,username
557058:a9572f6a-3041-435a-96ed-5286e3811b33,2020-11-23 12:21:02.355,,en_US,Scooby Doo,America/Los_Angeles,
5ed0edbe2999b60c23255b4f,2020-11-23 12:21:02.562,,en_US,Scrappy Cornelius Doo,America/Los_Angeles,
5c3326c24b248c315badf3ee,2020-11-23 12:21:02.757,,en_US,Norville Shaggy Rogers,America/Los_Angeles,
id,_fivetran_synced,email,locale,name,time_zone,username,is_active
557058:a9572f6a-3041-435a-96ed-5286e3811b33,2020-11-23 12:21:02.355,,en_US,Scooby Doo,America/Los_Angeles,true
5ed0edbe2999b60c23255b4f,2020-11-23 12:21:02.562,,en_US,Scrappy Cornelius Doo,America/Los_Angeles,true
5c3326c24b248c315badf3ee,2020-11-23 12:21:02.757,,en_US,Norville Shaggy Rogers,America/Los_Angeles,true
3 changes: 2 additions & 1 deletion macros/get_issue_field_history_columns.sql
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
{"name": "_fivetran_synced", "datatype": dbt.type_timestamp()},
{"name": "field_id", "datatype": dbt.type_string()},
{"name": "issue_id", "datatype": dbt.type_int()},
{"name": "value", "datatype": dbt.type_string()}
{"name": "value", "datatype": dbt.type_string()},
{"name": "is_active", "datatype": "boolean"},
] %}

{% if target.type == 'redshift' %}
Expand Down
3 changes: 2 additions & 1 deletion macros/get_issue_multiselect_history_columns.sql
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
{"name": "_fivetran_synced", "datatype": dbt.type_timestamp()},
{"name": "field_id", "datatype": dbt.type_string()},
{"name": "issue_id", "datatype": dbt.type_int()},
{"name": "value", "datatype": dbt.type_string()}
{"name": "value", "datatype": dbt.type_string()},
{"name": "is_active", "datatype": "boolean"}
] %}

{% if target.type == 'redshift' %}
Expand Down
3 changes: 2 additions & 1 deletion macros/get_user_columns.sql
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
{"name": "locale", "datatype": dbt.type_string()},
{"name": "name", "datatype": dbt.type_string()},
{"name": "time_zone", "datatype": dbt.type_string()},
{"name": "username", "datatype": dbt.type_string()}
{"name": "username", "datatype": dbt.type_string()},
{"name": "is_active", "datatype": "boolean"}
] %}

{{ return(columns) }}
Expand Down
8 changes: 7 additions & 1 deletion models/src_jira.yml
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,8 @@ sources:
description: Timestamp of when the issue field was set to this value.
- name: value
description: Content of the value of that the field was set to.
- name: is_active
description: Boolean showing whether this issue field is currently active.

- name: issue_link
identifier: "{{ var('jira_issue_link_identifier', 'issue_link')}}"
Expand Down Expand Up @@ -182,7 +184,9 @@ sources:
- name: issue_id
description: Foreign key referencing the ID of the `issue` whose field was updated.
- name: value
description: Content of the value of that the field was set to.
description: Content of the value of that the field was set to.
- name: is_active
description: Boolean showing whether this issue field is currently active.

- name: issue_type
identifier: "{{ var('jira_issue_type_identifier', 'issue_type')}}"
Expand Down Expand Up @@ -303,6 +307,8 @@ sources:
description: The user's timezone, as defined in their settings.
- name: username
description: Account username.
- name: is_active
description: Boolean showing whether this user is currently active.

- name: version
identifier: "{{ var('jira_version_identifier', 'version')}}"
Expand Down
6 changes: 6 additions & 0 deletions models/stg_jira.yml
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,8 @@ models:
description: Timestamp of when the issue field was set to this value.
- name: field_value
description: Content of the value of that the field was set to.
- name: is_active
description: Boolean showing whether this issue field is currently active.

- name: stg_jira__issue_multiselect_history
description: >
Expand All @@ -179,6 +181,8 @@ models:
description: Foreign key referencing the ID of the `issue` whose field was updated.
- name: field_value
description: Content of the value of that the field was set to.
- name: is_active
description: Boolean showing whether this issue field is currently active.

- name: stg_jira__issue_type
description: >
Expand Down Expand Up @@ -309,6 +313,8 @@ models:
description: The user's timezone, as defined in their settings.
- name: username
description: Account username.
- name: is_active
description: Boolean showing whether this issue field is currently active.

- name: stg_jira__version
description: Table of project versions in your organization.
Expand Down
1 change: 1 addition & 0 deletions models/stg_jira__issue_field_history.sql
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ final as (
cast(time as {{ dbt.type_timestamp() }})
{% endif %} as updated_at,
value as field_value,
is_active,
_fivetran_synced
from fields
)
Expand Down
1 change: 1 addition & 0 deletions models/stg_jira__issue_multiselect_history.sql
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ final as (
cast(time as {{ dbt.type_timestamp() }})
{% endif %} as updated_at,
value as field_value,
is_active,
_fivetran_synced
from fields
)
Expand Down