-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Source Jira: Add Board, Epic, and Sprint-related streams and improve request caching #6621
Conversation
@sherifnada Can someone review this when they get the chance? |
@cjwooo apologies for the delay here! Make sure to tag one of us as a reviewer (best Marcos) to make sure we triage in the future. Did you look into CDK caching? It is being documented here #6846. It would preclude the need to implement custom caching. Would love to hear if it can fill your use case |
Pinging @marcosmarxm as suggested. |
@sherifnada Looks like the CDK caching does fit our use case. I will integrate it into the Jira source and test it out. |
airbyte-integrations/connectors/source-jira/source_jira/spec.json
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are a lot of changes beside new streams and nested caching. Could PR be splitted?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks @cjwooo !
@vitaliizazmic can you make sure we get this published?
airbyte-integrations/connectors/source-jira/source_jira/spec.json
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Small changes required, to minimise the possibility of future bugs with hardcoded
field names.
airbyte-integrations/connectors/source-jira/source_jira/streams.py
Outdated
Show resolved
Hide resolved
airbyte-integrations/connectors/source-jira/source_jira/streams.py
Outdated
Show resolved
Hide resolved
airbyte-integrations/connectors/source-jira/source_jira/streams.py
Outdated
Show resolved
Hide resolved
airbyte-integrations/connectors/source-jira/source_jira/streams.py
Outdated
Show resolved
Hide resolved
@sherifnada I've updated the code to use the CDK's caching functionality. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks @cjwooo !
Will get this published soon.
@vitaliizazmic would you be able to push this one to the finish line?
@cjwooo apologies - I missed something in this PR: the spec.json adds some required fields which makes this change backwards incompatible. Could we treat those fields as optional? |
Will do |
…request caching (airbytehq#6621) * Create separate cache file per stream and add projects and start_date config * Add project id to issue record * Add projectId to issue schema * Add BoardIssues stream * Add SprintIssues stream * Add Epics stream and deduplicate state code * Add EpicIssues stream and additional fields for Issues stream * Add story points to sprint issues * Add new streams to test catalog * Update gitignore * Rename cache boolean and fix test catalog * Fix streams that depend on Issues stream * Fix sprint_issues stream * Add more fields to issues stream and format * Add option to expand issue changelogs * Remove epic_issues stream * Expand project descriptions * Show rendered fields for epics * Include project key * Include project key in issues stream * Address comments * Use CDK caching * Remove extra changes * Fix sprints stream reading from non-scrum boards * Format
What
Should merge #6523 first.
Add BoardIssues, Epics, EpicIssues, and SprintIssues streams.
Allow nested caching of streams utilizing the VCR library.
How
By putting the VCR cache of each stream into its own file, we avoid the nested caching restriction of the VCR library.
Recommended reading order
x.java
y.python
Pre-merge Checklist
Expand the relevant checklist and delete the others.
New Connector
Community member or Airbyter
airbyte_secret
./gradlew :airbyte-integrations:connectors:<name>:integrationTest
.README.md
bootstrap.md
. See description and examplesdocs/SUMMARY.md
docs/integrations/<source or destination>/<name>.md
including changelog. See changelog exampledocs/integrations/README.md
airbyte-integrations/builds.md
Airbyter
If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.
/test connector=connectors/<name>
command is passing./publish
command described hereUpdating a connector
Community member or Airbyter
airbyte_secret
./gradlew :airbyte-integrations:connectors:<name>:integrationTest
.README.md
bootstrap.md
. See description and examplesdocs/integrations/<source or destination>/<name>.md
including changelog. See changelog exampleAirbyter
If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.
/test connector=connectors/<name>
command is passing./publish
command described hereConnector Generator
-scaffold
in their name) have been updated with the latest scaffold by running./gradlew :airbyte-integrations:connector-templates:generator:testScaffoldTemplates
then checking in your changes