-
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 Zendesk Support: do not use nonpublic API #19432
Source Zendesk Support: do not use nonpublic API #19432
Conversation
/test connector=connectors/source-zendesk-support
Build FailedTest summary info:
|
blocked by #19465 |
/test connector=connectors/source-zendesk-support
Build PassedTest summary info:
|
@davydov-d |
airbyte-integrations/connectors/source-zendesk-support/source_zendesk_support/source.py
Outdated
Show resolved
Hide resolved
/test connector=connectors/source-zendesk-support
Build FailedTest summary info:
|
yep, but we can not rely on the non public API cause it is not documented and provides no guarantees as well :( |
/test connector=connectors/source-zendesk-support
Build PassedTest summary info:
|
/test connector=connectors/source-zendesk-support |
/test connector=connectors/source-zendesk-support
Build FailedTest summary info:
|
/test connector=connectors/source-zendesk-support
Build FailedTest summary info:
|
/test connector=connectors/source-zendesk-support
Build PassedTest summary info:
|
streams.append(ticket_forms_stream) | ||
break | ||
except Exception as e: | ||
logger.warning(f"An exception occurred while trying to access TicketForms stream: {str(e)}. Skipping this stream.") |
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.
cc @erohmensing FYI, another connector implementing custom stream skipping logic.
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.
Thanks for your effort in setting high
test strictness level without any bypass_reason
👏 .
# TicketForms stream is only available for Enterprise Plan users but Zendesk API does not provide | ||
# a public API to get user's subscription plan. That's why we try to read at least one record and expose this stream | ||
# in case of success or skip it otherwise |
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.
👍
for stream_slice in ticket_forms_stream.stream_slices(sync_mode=SyncMode.full_refresh): | ||
for _ in ticket_forms_stream.read_records(sync_mode=SyncMode.full_refresh, stream_slice=stream_slice): | ||
streams.append(ticket_forms_stream) | ||
break |
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.
Would it be useful to store the inferred plan (Enterprise Plan) in the configuration?
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.
Do you mean exposing a new field in the config.json?
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.
I don't know exactly. Just a way for the connector to be aware of the inferred plan; wondering if this could be useful for other logic.
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.
Well we could possibly store it but as for now we do not have a way to get a plan and be 100% sure it's correct
/publish connector=connectors/source-zendesk-support
if you have connectors that successfully published but failed definition generation, follow step 4 here |
What
https://github.com/airbytehq/oncall/issues/1010
How
Remove call to undocumented (nonpublic) API, use a test read instead