feat: migrate source-zendesk-sunshine to scopes object array#74393
Conversation
Co-Authored-By: aldo.gonzalez@airbyte.io <aldo.gonzalez@airbyte.io>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
|
Note 📝 PR Converted to Draft More info...Thank you for creating this PR. As a policy to protect our engineers' time, Airbyte requires all PRs to be created first in draft status. Your PR has been automatically converted to draft status in respect for this policy. As soon as your PR is ready for formal review, you can proceed to convert the PR to "ready for review" status by clicking the "Ready for review" button at the bottom of the PR page. To skip draft status in future PRs, please include |
👋 Greetings, Airbyte Team Member!Here are some helpful tips and reminders for your convenience. 💡 Show Tips and TricksPR Slash CommandsAirbyte Maintainers (that's you!) can execute the following slash commands on your PR:
📚 Show Repo GuidanceHelpful Resources
|
|
|
/bump-version |
Co-Authored-By: aldo.gonzalez@airbyte.io <aldo.gonzalez@airbyte.io>
|
/publish-connectors-prerelease |
|
|
/bump-version
|
|
Deploy preview for airbyte-docs ready! ✅ Preview Built with commit 5aef4de. |
…nshine Co-Authored-By: aldo.gonzalez@airbyte.io <aldo.gonzalez@airbyte.io>
|
|
/publish-connectors-prerelease |
|
/ai-canary-prerelease
|
🐤 Canary Prerelease: StartingStarting canary prerelease testing for Steps:
|
Canary Deployment StatusConnector: Pinning Results
Summary: 4 actors pinned successfully (covering 9 connections), 1 skipped (existing workspace-level pin), 3 skipped (deleted sources returning 404).
Monitoring phase begins now. Will post periodic updates every 1-2 hours. For full customer details, see the linked private issue. |
Canary Monitoring Update (2026-03-16 18:14 UTC)Connector: Sync Trigger ResultsAttempted to trigger syncs on all 6 connections across 4 pinned actors:
Key Observations
Overall Status: HEALTHY (limited data)The one connection that ran on the prerelease completed successfully. Will continue monitoring for 2+ more hours for additional sync data from scheduled runs. |
Canary Monitoring Update (2026-03-16 19:27 UTC)Connector: Sync Results on Prerelease
Success rate: 3/3 (100%) Inactive Connections5 other pinned connections (Internal-A-US-1 x2, Internal-A-US-2 x2, Customer-C-EU-1) remain inactive — no sync activity in 7+ days, all return 409 state-conflict when manually triggered. These connections appear to be disabled/paused. Overall Status: HEALTHYAll syncs on the prerelease produce consistent, identical results (611 records, 159KB across 6 streams). No errors, no regressions observed. Continuing monitoring toward the 2-hour mark before issuing the final verdict. |
Canary Prerelease: Final ReportConnector: SummaryThe prerelease version Detailed ResultsSync Results on Prerelease (Internal-B-US-1)
All 6 streams synced: Pinning Summary
Breaking Change Assessment
Canary VerdictOverall Status: PASS The prerelease performed well across all active canary connections. The OAuth scope migration change is minimal, non-breaking, and reversible. All syncs on the prerelease version succeeded with consistent results matching expected behavior. Next steps:
For full customer details, see the linked private issue. |
Canary Cleanup: Post-Merge InstructionsThe canary testing has PASSED. Pins are left in place while the PR is open so connections continue running on the validated prerelease. After this PR is merged, the following actor-level pins must be removed:
To unpin manually (if the automated reminder doesn't fire): A 3-day reminder has been set to automatically check if this PR has been merged and unpin connections. |
|
|
||
| | Version | Date | Pull Request | Subject | | ||
| | :------ | :--------- | :------------------------------------------------------- | :------------------------------------------------------------------------------ | | ||
| | 0.4.4 | 2026-03-11 | [74393](https://github.com/airbytehq/airbyte/pull/74393) | feat: migrate source-zendesk-sunshine to scopes object array | |
There was a problem hiding this comment.
Why is this not 0.4.3?
There was a problem hiding this comment.
The canary prerelease session (session) bumped the version from 0.4.3 → 0.4.4 when it unpinned the CDK pre-release and switched to stable 7.13.0. The metadata.yaml dockerImageTag is currently 0.4.4 as well.
Would you like me to revert the canary session's changes so the version goes back to 0.4.3 with the pre-release CDK pin?
Co-Authored-By: aldo.gonzalez@airbyte.io <aldo.gonzalez@airbyte.io>
|
Fixed — reverted canary session changes:
|
Co-Authored-By: aldo.gonzalez@airbyte.io <aldo.gonzalez@airbyte.io>
…er's 0.4.3) Co-Authored-By: aldo.gonzalez@airbyte.io <aldo.gonzalez@airbyte.io>
Canary Cleanup CompletePR #74393 has been merged. All canary version pins have been successfully removed:
All connections will now pick up the GA release of |
What
Migrate
source-zendesk-sunshineOAuth configuration from ascopestring to ascopesarray of objects, as part of the scopes object array rollout.Related:
How
scope: readwithscopes: [{ scope: read }]and updated{{scope_param}}→{{scopes_param}}in bothconsent_urlandaccess_token_url.7.10.2.post5.dev22788068227which includes the protocol model override that preservesscopesfields throughserpyco_rsdeserialization.Review guide
source-zendesk-sunshine/manifest.yaml— scope → scopes migration + template variable update in both OAuth URLssource-zendesk-sunshine/metadata.yaml— CDK pre-release base image pinKey things to verify:
{{scopes_param}}appears in bothconsent_urlandaccess_token_url(Zendesk requires scope in token exchange)scopes_paraminaccess_token_url(not just consent URL)User Impact
No user-facing impact yet — requires platform changes (#18705) to be deployed before the new scopes format is active in production. Base image is pinned to a CDK pre-release for local testing.
Can this PR be safely reverted and rolled back?
Link to Devin Session
Requested by: Aldo Gonzalez (@aldogonzalez8)