Skip to content

feat: migrate source-zendesk-sunshine to scopes object array#74393

Merged
Aldo Gonzalez (aldogonzalez8) merged 12 commits into
masterfrom
aldo/scopes-object-zendesk-sunshine
Mar 17, 2026
Merged

feat: migrate source-zendesk-sunshine to scopes object array#74393
Aldo Gonzalez (aldogonzalez8) merged 12 commits into
masterfrom
aldo/scopes-object-zendesk-sunshine

Conversation

@aldogonzalez8
Copy link
Copy Markdown
Contributor

What

Migrate source-zendesk-sunshine OAuth configuration from a scope string to a scopes array of objects, as part of the scopes object array rollout.

Related:

How

  1. manifest.yaml: Replaced scope: read with scopes: [{ scope: read }] and updated {{scope_param}}{{scopes_param}} in both consent_url and access_token_url.
  2. metadata.yaml: Pinned base image to CDK pre-release 7.10.2.post5.dev22788068227 which includes the protocol model override that preserves scopes fields through serpyco_rs deserialization.

Review guide

  1. source-zendesk-sunshine/manifest.yaml — scope → scopes migration + template variable update in both OAuth URLs
  2. source-zendesk-sunshine/metadata.yaml — CDK pre-release base image pin

Key things to verify:

  • {{scopes_param}} appears in both consent_url and access_token_url (Zendesk requires scope in token exchange)
  • The base image digest matches the published CDK pre-release
  • Platform PR #18705 correctly resolves scopes_param in access_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?

  • YES 💚

Link to Devin Session
Requested by: Aldo Gonzalez (@aldogonzalez8)

Co-Authored-By: aldo.gonzalez@airbyte.io <aldo.gonzalez@airbyte.io>
@devin-ai-integration
Copy link
Copy Markdown
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@octavia-bot octavia-bot Bot marked this pull request as draft March 9, 2026 16:11
@octavia-bot
Copy link
Copy Markdown
Contributor

octavia-bot Bot commented Mar 9, 2026

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 [ready] in your PR title or add the skip-draft-status label when creating your PR.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 9, 2026

👋 Greetings, Airbyte Team Member!

Here are some helpful tips and reminders for your convenience.

💡 Show Tips and Tricks

PR Slash Commands

Airbyte Maintainers (that's you!) can execute the following slash commands on your PR:

  • 🛠️ Quick Fixes
    • /format-fix - Fixes most formatting issues.
    • /bump-version - Bumps connector versions, scraping changelog description from the PR title.
  • ❇️ AI Testing and Review (internal link: AI-SDLC Docs):
    • /ai-prove-fix - Runs prerelease readiness checks, including testing against customer connections.
    • /ai-canary-prerelease - Rolls out prerelease to 5-10 connections for canary testing.
    • /ai-review - AI-powered PR review for connector safety and quality gates.
  • 🚀 Connector Releases:
    • /publish-connectors-prerelease - Publishes pre-release connector builds (tagged as {version}-preview.{git-sha}) for all modified connectors in the PR.
    • /bump-progressive-rollout-version - Bumps connector version with an RC suffix (2.16.10-rc.1) for progressive rollouts (enableProgressiveRollout: true).
      • Example: /bump-progressive-rollout-version changelog="Add new feature for progressive rollout"
  • ☕️ JVM connectors:
    • /update-connector-cdk-version connector=<CONNECTOR_NAME> - Updates the specified connector to the latest CDK version.
      Example: /update-connector-cdk-version connector=destination-bigquery
  • 🐍 Python connectors:
    • /poe connector source-example lock - Run the Poe lock task on the source-example connector, committing the results back to the branch.
    • /poe source example lock - Alias for /poe connector source-example lock.
    • /poe source example use-cdk-branch my/branch - Pin the source-example CDK reference to the branch name specified.
    • /poe source example use-cdk-latest - Update the source-example CDK dependency to the latest available version.
  • ⚙️ Admin commands:
    • /force-merge reason="<REASON>" - Force merges the PR using admin privileges, bypassing CI checks. Requires a reason.
      Example: /force-merge reason="CI is flaky, tests pass locally"
📚 Show Repo Guidance

Helpful Resources

📝 Edit this welcome message.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 9, 2026

source-zendesk-sunshine Connector Test Results

9 tests   3 ✅  11s ⏱️
1 suites  6 💤
1 files    0 ❌

Results for commit 18743a5.

♻️ This comment has been updated with latest results.

@devin-ai-integration
Copy link
Copy Markdown
Contributor

/bump-version

Co-Authored-By: aldo.gonzalez@airbyte.io <aldo.gonzalez@airbyte.io>
@devin-ai-integration
Copy link
Copy Markdown
Contributor

/publish-connectors-prerelease

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 10, 2026

Pre-release Connector Publish Started

Publishing pre-release build for connector source-zendesk-sunshine.
PR: #74393

Pre-release versions will be tagged as {version}-preview.4feeb35
and are available for version pinning via the scoped_configuration API.

View workflow run
Pre-release Publish: SUCCESS

Docker image (pre-release):
airbyte/source-zendesk-sunshine:0.4.3-preview.4feeb35

Docker Hub: https://hub.docker.com/layers/airbyte/source-zendesk-sunshine/0.4.3-preview.4feeb35

Registry JSON:

@aldogonzalez8
Copy link
Copy Markdown
Contributor Author

Aldo Gonzalez (aldogonzalez8) commented Mar 11, 2026

/bump-version

Bump Version job started... Check job output.

✅ Changes applied successfully. (1706c6b)

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 11, 2026

Deploy preview for airbyte-docs ready!

✅ Preview
https://airbyte-docs-cvds69kfz-airbyte-growth.vercel.app

Built with commit 5aef4de.
This pull request is being automatically deployed with vercel-action

devin-ai-integration Bot and others added 2 commits March 12, 2026 22:27
…nshine

Co-Authored-By: aldo.gonzalez@airbyte.io <aldo.gonzalez@airbyte.io>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 12, 2026

Pre-release Connector Publish Started

Publishing pre-release build for connector source-zendesk-sunshine.
PR: #74393

Pre-release versions will be tagged as {version}-preview.fe98a52
and are available for version pinning via the scoped_configuration API.

View workflow run
Pre-release Publish: SUCCESS

Docker image (pre-release):
airbyte/source-zendesk-sunshine:0.4.4-preview.fe98a52

Docker Hub: https://hub.docker.com/layers/airbyte/source-zendesk-sunshine/0.4.4-preview.fe98a52

Registry JSON:

@aldogonzalez8 Aldo Gonzalez (aldogonzalez8) marked this pull request as ready for review March 13, 2026 21:30
@aldogonzalez8 Aldo Gonzalez (aldogonzalez8) requested a review from a team March 16, 2026 13:49
@devin-ai-integration
Copy link
Copy Markdown
Contributor

/publish-connectors-prerelease

@aldogonzalez8
Copy link
Copy Markdown
Contributor Author

Aldo Gonzalez (aldogonzalez8) commented Mar 16, 2026

/ai-canary-prerelease

AI Canary Prerelease Started

Rolling out to 5-10 connections, watching results, and reporting findings.
View workflow run
🐤 AI Canary Prerelease session starting... Rolling out to 5-10 connections, watching results, and reporting findings. View playbook

Devin AI session created successfully!

@devin-ai-integration
Copy link
Copy Markdown
Contributor

🐤 Canary Prerelease: Starting

Starting canary prerelease testing for source-zendesk-sunshine.

Steps:

  1. Evaluating PR for breaking changes and reversibility
  2. Identifying candidate connections
  3. Deploying prerelease to 5-10 connections
  4. Monitoring sync results
  5. Reporting findings

View Devin session

@devin-ai-integration
Copy link
Copy Markdown
Contributor

Canary Deployment Status

Connector: source-zendesk-sunshine
Prerelease Version: 0.4.4-preview.fe98a52
Approval: Approved by Aldo Gonzalez (@aldogonzalez8) via Slack

Pinning Results

Actor Previous Version New Version Status
Internal-A-US-1 0.4.2 0.4.4-preview.fe98a52 Pinned
Internal-A-US-2 0.4.2 0.4.4-preview.fe98a52 Pinned
Internal-B-US-1 0.4.2 0.4.4-preview.fe98a52 Pinned
Customer-C-EU-1 0.4.2 0.4.4-preview.fe98a52 Pinned
Internal-D-US-1 0.4.0-preview.b90b99f Skipped (workspace-level pin from another user)
Customer-E-US-1 Skipped (source 404 — likely deleted)
Customer-F-US-1 Skipped (source 404 — likely deleted)
Customer-F-US-2 Skipped (source 404 — likely deleted)

Summary: 4 actors pinned successfully (covering 9 connections), 1 skipped (existing workspace-level pin), 3 skipped (deleted sources returning 404).

The canary set of 4 actors / 9 connections includes both internal test workspaces and an external customer workspace, with both api_token and oauth authentication configurations represented.

Monitoring phase begins now. Will post periodic updates every 1-2 hours.

For full customer details, see the linked private issue.


Devin session

@devin-ai-integration
Copy link
Copy Markdown
Contributor

Canary Monitoring Update (2026-03-16 18:14 UTC)

Connector: source-zendesk-sunshine
Prerelease Version: 0.4.4-preview.fe98a52
Monitoring Duration: ~30 minutes since deployment

Sync Trigger Results

Attempted to trigger syncs on all 6 connections across 4 pinned actors:

Connection Trigger Result Sync Status Records Notes
Internal-B-US-1 Triggered (job 75147289) succeeded 611 records, 159KB dev-null dest
Internal-A-US-1 (conn 1) 409 state-conflict No recent activity dev-null dest, likely disabled
Internal-A-US-1 (conn 2) 409 state-conflict No recent activity dev-null dest, likely disabled
Internal-A-US-2 (conn 1) 409 state-conflict No recent activity dev-null dest, likely disabled
Internal-A-US-2 (conn 2) 409 state-conflict No recent activity dev-null dest, likely disabled
Customer-C-EU-1 409 state-conflict No recent activity S3 dest, likely disabled

Key Observations

  • 1 successful sync on prerelease: Internal-B-US-1 completed successfully with 611 records across 6 streams (limits, object_types, object_records, object_type_policies, relationship_types, relationship_records)
  • 5 connections appear inactive: No sync history in the past 7 days; 409 state-conflict when attempting to trigger. These connections are likely disabled or paused.
  • 7-day lookback: Only 2 connections showed any sync activity in the past 7 days — Internal-B-US-1 (just triggered) and Internal-D-US-1 (skipped due to workspace-level pin)

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.


Devin session

@devin-ai-integration
Copy link
Copy Markdown
Contributor

Canary Monitoring Update (2026-03-16 19:27 UTC)

Connector: source-zendesk-sunshine
Prerelease Version: 0.4.4-preview.fe98a52
Monitoring Duration: ~1.5 hours since deployment

Sync Results on Prerelease

Connection Job ID Status Records Bytes Timestamp
Internal-B-US-1 75147289 succeeded 611 159KB 18:09 UTC
Internal-B-US-1 75150844 succeeded 611 159KB 18:51 UTC
Internal-B-US-1 75154761 succeeded 611 159KB 19:24 UTC

Success rate: 3/3 (100%)

Inactive Connections

5 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: HEALTHY

All 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.


Devin session

@devin-ai-integration
Copy link
Copy Markdown
Contributor

Canary Prerelease: Final Report

Connector: source-zendesk-sunshine
Prerelease Version: 0.4.4-preview.fe98a52
Monitoring Period: 2026-03-16 17:55 UTC to 2026-03-16 19:49 UTC (~2 hours)
Connections Tested: 9 connections across 4 pinned actors (+ 1 skipped, 3 failed to pin)

Summary

The prerelease version 0.4.4-preview.fe98a52 performed successfully across all canary syncs. 3 consecutive syncs on the prerelease produced identical, consistent results (611 records, 159KB across 6 streams) with a 100% success rate. 5 additional pinned connections were inactive/disabled and did not produce sync data during the monitoring window, but no failures or regressions were observed on any active connection.

Detailed Results

Sync Results on Prerelease (Internal-B-US-1)
Job ID Status Records Bytes Timestamp
75147289 succeeded 611 159,026 B 18:09 UTC
75150844 succeeded 611 159,026 B 18:51 UTC
75154761 succeeded 611 159,026 B 19:27 UTC

All 6 streams synced: limits, object_types, object_records, object_type_policies, relationship_types, relationship_records

Pinning Summary
Connection Pin Status Sync Activity Notes
Internal-A-US-1 (conn 1) Pinned to prerelease Inactive (7+ days) api_token auth, dev-null dest
Internal-A-US-1 (conn 2) Pinned to prerelease Inactive (7+ days) api_token auth, dev-null dest
Internal-A-US-2 (conn 1) Pinned to prerelease Inactive (7+ days) oauth auth, dev-null dest
Internal-A-US-2 (conn 2) Pinned to prerelease Inactive (7+ days) oauth auth, dev-null dest
Internal-B-US-1 Pinned to prerelease 3 syncs, 100% success api_token auth, dev-null dest
Customer-C-EU-1 Pinned to prerelease Inactive (7+ days) S3 dest
Internal-D-US-1 Skipped (workspace-level pin) Daily syncs (not on prerelease) Existing pin from other user
Customer-E-US-1 Failed to pin (404) Unknown Actor may be deleted
Customer-F-US-1 Failed to pin (404) Unknown Actor may be deleted

Breaking Change Assessment

  • Not breaking: Only OAuth scope migration (string scope: read to array scopes: [{scope: read}])
  • Reversible: No state/config format changes; previous version can still read state written by this version
  • Version bump: 0.4.2 → 0.4.4 (valid minor bump)

Canary Verdict

Overall 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:

  1. Merge the PR to publish the release
  2. Canary pins will be automatically removed after the PR is merged (subscribed for merge notifications)

For full customer details, see the linked private issue.


Devin session

@devin-ai-integration
Copy link
Copy Markdown
Contributor

Canary Cleanup: Post-Merge Instructions

The 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:

Actor Workspace Pinned Version Auth Type
be3e9b9c integration-test-sandboxes 0.4.4-preview.fe98a52 api_token
cc74e449 integration-test-sandboxes 0.4.4-preview.fe98a52 oauth
3df32792 Internal-B 0.4.4-preview.fe98a52 api_token
d6e966e0 Customer-C 0.4.4-preview.fe98a52 S3 dest

To unpin manually (if the automated reminder doesn't fire):

For each actor above, call set_cloud_connector_version_override with:
  - actor_id: <actor_id above>
  - actor_type: source
  - unset: True
  - issue_url: https://github.com/airbytehq/airbyte/pull/74393
  - approval_comment_url: https://github.com/airbytehq/airbyte/pull/74393#issuecomment-4069408765

A 3-day reminder has been set to automatically check if this PR has been merged and unpin connections.


Devin session


| 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 |
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this not 0.4.3?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>
@devin-ai-integration
Copy link
Copy Markdown
Contributor

Fixed — reverted canary session changes:

  • dockerImageTag back to 0.4.3
  • baseImage restored to pre-release CDK 7.10.2.post5.dev22788068227@sha256:0053be27c5a445c6b132317f9cf8c0fdf1d1c25cb7e56d2ca7dc948b1719f330
  • Changelog entry corrected to 0.4.3

Co-Authored-By: aldo.gonzalez@airbyte.io <aldo.gonzalez@airbyte.io>
devin-ai-integration Bot and others added 2 commits March 17, 2026 10:26
…er's 0.4.3)

Co-Authored-By: aldo.gonzalez@airbyte.io <aldo.gonzalez@airbyte.io>
@aldogonzalez8 Aldo Gonzalez (aldogonzalez8) merged commit ab6d71e into master Mar 17, 2026
42 of 44 checks passed
@aldogonzalez8 Aldo Gonzalez (aldogonzalez8) deleted the aldo/scopes-object-zendesk-sunshine branch March 17, 2026 15:11
@devin-ai-integration
Copy link
Copy Markdown
Contributor

Canary Cleanup Complete

PR #74393 has been merged. All canary version pins have been successfully removed:

Actor Previous Pin Status
be3e9b9c (Internal-A-US, api_token) 0.4.4-preview.fe98a52 Unpinned — now on default (GA) version
cc74e449 (Internal-A-US, oauth) 0.4.4-preview.fe98a52 Unpinned — now on default (GA) version
3df32792 (Internal-B-US) 0.4.4-preview.fe98a52 Unpinned — now on default (GA) version
d6e966e0 (Customer-C-EU) 0.4.4-preview.fe98a52 Unpinned — now on default (GA) version

All connections will now pick up the GA release of source-zendesk-sunshine v0.4.4. Canary prerelease workflow is fully complete.


Devin session

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants