PR #76 includes the following updates:
- Updates README with standardized Fivetran formatting.
- In the
quickstart.ymlfile:- Adds
table_variablesfor relevant sources to prevent missing sources from blocking downstream Quickstart models.
- Adds
PR #75 includes the following updates:
- Increases the required dbt version upper limit to v3.0.0.
1 total change β’ 0 possible breaking changes
| Data Model(s) | Change type | Old | New | Notes |
|---|---|---|---|---|
| All models | New column | source_relation |
Identifies the source connection when using multiple GitHub connections |
- Union Data Functionality: This release supports running the package on multiple GitHub source connections. See the README for details on how to leverage this feature.
- Removes uniqueness tests. The new unioning feature requires combination-of-column tests to consider the new
source_relationcolumn in addition to the existing primary key, but this is not supported across dbt versions.- These tests will be reintroduced once a version-agnostic solution is available.
- Updates consistency tests to enable dynamic column exclusion.
PR #67 includes the following updates:
- Removed the dependency on the
fivetran/github_sourcepackage.- All functionality from the source package has been merged into this transformation package for improved maintainability and clarity.
- If you reference
fivetran/github_sourcein yourpackages.yml, you must remove this dependency to avoid conflicts. - Any source overrides referencing the
fivetran/github_sourcepackage will also need to be removed or updated to reference this package. - Update any github_source-scoped variables to be scoped to only under this package. See the README for how to configure the build schema of staging models.
- 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.
- 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). - 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.
- Removed all
dbt_utils.unique_combination_of_columnstests. - Moved
loaded_at_field: _fivetran_syncedunder theconfig:block insrc_github.yml.
- Removed all
- Updated conditions in
.github/workflows/auto-release.yml. - Added
.github/workflows/generate-docs.yml.
PR #64 includes the following updates:
- Added the following variables to account for potentially missing tables. For dbt Core users, each is
Trueby default and will need to be set toFalsein the root project'sdbt_project.yml. For Fivetran Quickstart users, they will be dynamically enabled/disabled based on the presence of the associated source table.github__using_issue_assignee: Disable if missingISSUE_ASSIGNEEgithub__using_issue_label: Disable if missingISSUE_LABELgithub__using_label: Disable if missingLABELgithub__using_requested_reviewer_history: Disable if missingREQUESTED_REVIEWER_HISTORY
- Updated package maintainer PR template.
- Added new variables to the
quickstart.ymlfile. - Added consistency validation tests for the
github__daily/weeky/monthly/quarterly_metricsmodels.
PR #63 includes the following updates:
Note: This is not relevant to Fivetran Quickstart users.
Migrated freshness from a top-level source property to a source config in alignment with recent updates from dbt Core (GitHub Source v0.9.0). This will resolve the following deprecation warning that users running dbt >= 1.9.6 may have received:
[WARNING]: Deprecated functionality
Found `freshness` as a top-level property of `github` in file
`models/src_github.yml`. The `freshness` top-level property should be moved
into the `config` of `github`.
IMPORTANT: Users running dbt Core < 1.9.6 will not be able to utilize freshness tests in this release or any subsequent releases, as older versions of dbt will not recognize freshness as a source config and therefore not run the tests.
If you are using dbt Core < 1.9.6 and want to continue running GitHub freshness tests, please elect one of the following options:
- (Recommended) Upgrade to dbt Core >= 1.9.6
- Do not upgrade your installed version of the
githubpackage. Pin your dependency on v0.8.1 in yourpackages.ymlfile. - Utilize a dbt override to overwrite the package's
githubsource and apply freshness via the previous release top-level property route. This will require you to copy and paste the entirety of the previous releasesrc_github.ymlfile and add anoverrides: github_sourceproperty.
- Added Quickstart model counts to README. (#60)
- Corrected references to connectors and connections in the README. (#60)
- Updates to ensure integration tests use latest version of dbt.
This release contains the following updates:
- Replaced the deprecated
dbt_current_timestamp.backcompat()macro with the up-to-datedbt_current_timestamp. The deprecated macro occasionally returned the system timezone instead of the expected UTC timestamp, leading to incorrect downstream metrics like negative values fordays_issue_open. PR #58 - Updated the join type in
int_github__pull_request_timesto ensure pull requests without explicitly requested reviewers are no longer dropped. PR #57
- Added consistency tests for
github__issuesandgithub__pull_requeststo ensure new changes don't change the output of either model. (Some measures are omitted from the comparison tests, since they're measures based on thecurrent_timestamp, which differs between validation test runs). PR #58
PR #53 contains the following updates:
- For consistency with other Fivetran packages, added default target schemas in
dbt_project.yml. This is a breaking change since the model outputs will now be stored in a schema called<your target schema>_githubby default. You will need to update any of your downstream use cases to point to the new schema.- Refer to the Change the Build Schema section of the README for instructions on how to adjust the output schema.
- Updated the maintainer PR template to the current format.
- Incorporated the new
fivetran_utils.drop_schemas_automationmacro into the end of each Buildkite integration test job. (PR #49) - Updated the
quickstart.ymlfile to allow for automated Quickstart data model deployments. (PR #51)
- Updated the following models to aggregate at the
repositorygrain in addition to their time period grain. (#42, #43)github__daily_metricsgithub__weekly_metricsgithub__monthly_metricsgithub__quarterly_metrics
- Added column
requested_reviewersto provide a list of users that were requested to review on a pull request. This is to supplement the columnreviewers, which provides a list of users that have submitted a reivew, whether or not they were requested to. (#44) - PostgreSQL compatibility! (#44)
- Updated model
int_github__pull_request_reviewersso that the list of reviewers generated does not contain duplicate usernames. (#44)
- For the metrics models that were updated, added unique-combination-of-column tests for the combination of the time period and repository. (#44)
- Removed uniqueness tests on time period in metrics models in favor of the combo test. (#44)
- Removed ordering in metrics models to improve efficiency. (#44)
- @onimsha (#42)
PR #35 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_valuebool_orcast_bool_to_textconcatdate_truncdateadddatediffescape_single_quotesexcepthashintersectlast_daylengthlistaggpositionreplacerightsafe_castsplit_partstring_literaltype_biginttype_floattype_inttype_numerictype_stringtype_timestamparray_appendarray_concatarray_construct
- For
current_timestampandcurrent_timestamp_in_utcmacros, the dispatch AND the macro names have been updated to the below, respectively:dbt.current_timestamp_backcompatdbt.current_timestamp_in_utc_backcompat
- Dependencies on
fivetran/fivetran_utilshave been upgraded, previously[">=0.3.0", "<0.4.0"]now[">=0.4.0", "<0.5.0"].
- Updated README documentation for easier navigation and dbt package setup. #35
- Added Databricks compatibility. #38
- The
url_linklogic withinint_github__issue_joinedwas focused on only providing the correct url for pull requests. This update includes acase whenstatement to provide the accurate url logic for both Issues and Pull Requests. (#31)
- The addition of the
labelsource model results in the reference withinint_github__issue_labelto break. As a result, with the addition of upstream changes withindbt_github_sourceand the newint_github__issue_label_joinmodel this issue has been resolved. (#26)- Please note: It is important you kick off a historical resync of your connector to account for the connector changes from April 2021.
- The
int_github__issue_commentmodel was referencing thestg_github__issue_labelmodel to produce the total count of comments. This has been fixed to correctly reference thestg_github__issue_commentmodel instead. (#26)
- All references to the staging models within the package have been updated to refer to the variable instead. This will allow for more dynamic functionality of the package. (#26)
π dbt v1.0.0 Compatibility π
- Adjusts the
require-dbt-versionto 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_github_source. Additionally, the latestdbt_github_sourcepackage has a dependency on the latestdbt_fivetran_utils. Further, the latestdbt_fivetran_utilspackage also has a dependency ondbt_utils[">=0.8.0", "<0.9.0"].- Please note, if you are installing a version of
dbt_utilsin yourpackages.ymlthat is not in the range above then you will encounter a package dependency error.
- Please note, if you are installing a version of
Refer to the relevant release notes on the Github repository for specific details for the previous releases. Thank you!