Skip to content

feat(source-gong): migrate OAuth scope to scopes object array#75195

Merged
Serhii Lazebnyi (lazebnyi) merged 5 commits intomasterfrom
devin/1773870614-granular-scopes-gong
Mar 27, 2026
Merged

feat(source-gong): migrate OAuth scope to scopes object array#75195
Serhii Lazebnyi (lazebnyi) merged 5 commits intomasterfrom
devin/1773870614-granular-scopes-gong

Conversation

@devin-ai-integration
Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration bot commented Mar 18, 2026

Summary

Migrates source-gong OAuth configuration from single scope string to structured scopes array format with object shape {scope: "value"}, as part of the granular OAuth scopes initiative.

Changes

  • Converted scope string to scopes array with individual scope objects
  • Updated base image to CDK 7.13.0 which includes scopes support

Related: https://github.com/airbytehq/airbyte-internal-issues/issues/16023

Updates since last revision

  • Fixed consent URL template variable: Changed {{scopes_value | urlEncode}}{{scopes_param}}. The scopes_value variable was resolving to empty, causing the consent URL to have scope= with no scopes. The {{scopes_param}} pattern (which renders the full scope=... key-value pair) is the proven approach used by merged PRs (Monday #74325, Zendesk Chat #74324).
  • Version bump: 0.6.1 → 0.6.2 to account for the consent URL fix.
  • Pre-release 0.6.2-preview.f8e8aca is pinned to workspace 4e9f2be7-cb15-4f46-850f-bd48a24e9217 for testing.

Review & Testing Checklist for Human

  • Verify the consent URL now includes scopes: Navigate to the Gong OAuth flow in the pinned workspace and confirm the URL contains scope=api%3Acalls%3Aread%3Abasic+api%3Acalls%3Aread%3Aextensive+api%3Ausers%3Aread+api%3Astats%3Ascorecards+api%3Astats%3Ainteraction (space-separated, URL-encoded). The previous pre-release (0.6.1) had scope= empty.
  • Verify complete_oauth succeeds: Gong uses Basic auth (Authorization: Basic base64(client_id:client_secret)) for token exchange, which differs from the standard client_id/client_secret body params. Confirm the full flow works end-to-end — consent → callback → token exchange → access_token + refresh_token returned.
  • Confirm scopes are correct and complete: The 5 scopes (api:calls:read:basic, api:calls:read:extensive, api:users:read, api:stats:scorecards, api:stats:interaction) should match the production Gong OAuth configuration. Missing or extra scopes could break customer syncs after migration.

Notes

  • Gong was a Path A migration (already had oauth_connector_input_specification). The original scope string and scope_value template worked on production. The migration to scopes array required switching to scopes_param rather than scopes_value for correct template resolution.
  • The default scopes_join_strategy is space-separated, which matches Gong's requirements (no explicit scopes_join_strategy needed).
  • Gong's access_token_headers already included Basic auth and Content-Type: application/x-www-form-urlencoded from the original manifest, so no access_token_params/access_token_headers fix was needed (unlike Slack/Salesforce/GitHub).

Link to Devin session: https://app.devin.ai/sessions/468831f741e1478095a6e30ccfd369b0
Requested by: Aldo Gonzalez (@aldogonzalez8)

@github-actions
Copy link
Copy Markdown
Contributor

👋 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 18, 2026

source-gong Connector Test Results

5 tests   2 ✅  7s ⏱️
1 suites  3 💤
1 files    0 ❌

Results for commit 181ef57.

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 18, 2026

Pre-release Connector Publish Started

Publishing pre-release build for connector source-gong.
PR: #75195

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

View workflow run
Pre-release Publish: SUCCESS

Docker image (pre-release):
airbyte/source-gong:0.6.1-preview.f6d61e7

Docker Hub: https://hub.docker.com/layers/airbyte/source-gong/0.6.1-preview.f6d61e7

Registry JSON:

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 19, 2026

Pre-release Connector Publish Started

Publishing pre-release build for connector source-gong.
PR: #75195

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

View workflow run
Pre-release Publish: SUCCESS

Docker image (pre-release):
airbyte/source-gong:0.6.2-preview.f8e8aca

Docker Hub: https://hub.docker.com/layers/airbyte/source-gong/0.6.2-preview.f8e8aca

Registry JSON:

devin-ai-integration bot and others added 3 commits March 26, 2026 16:20
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 26, 2026

Deploy preview for airbyte-docs ready!

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

Built with commit 181ef57.
This pull request is being automatically deployed with vercel-action

@lazebnyi
Copy link
Copy Markdown
Contributor

Serhii Lazebnyi (lazebnyi) commented Mar 27, 2026

/publish-connectors-prerelease

Pre-release Connector Publish Started

Publishing pre-release build for connector source-gong.
PR: #75195

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

View workflow run
Pre-release Publish: SUCCESS

Docker image (pre-release):
airbyte/source-gong:0.6.3-preview.7d6890d

Docker Hub: https://hub.docker.com/layers/airbyte/source-gong/0.6.3-preview.7d6890d

Registry JSON:

@lazebnyi
Copy link
Copy Markdown
Contributor

Serhii Lazebnyi (lazebnyi) commented Mar 27, 2026

/publish-connectors-prerelease

Pre-release Connector Publish Started

Publishing pre-release build for connector source-gong.
PR: #75195

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

View workflow run
Pre-release Publish: SUCCESS

Docker image (pre-release):
airbyte/source-gong:0.6.3-preview.9c55a40

Docker Hub: https://hub.docker.com/layers/airbyte/source-gong/0.6.3-preview.9c55a40

Registry JSON:

@lazebnyi
Copy link
Copy Markdown
Contributor

Serhii Lazebnyi (lazebnyi) commented Mar 27, 2026

/publish-connectors-prerelease

Pre-release Connector Publish Started

Publishing pre-release build for connector source-gong.
PR: #75195

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

View workflow run
Pre-release Publish: SUCCESS

Docker image (pre-release):
airbyte/source-gong:0.6.3-preview.181ef57

Docker Hub: https://hub.docker.com/layers/airbyte/source-gong/0.6.3-preview.181ef57

Registry JSON:

@lazebnyi Serhii Lazebnyi (lazebnyi) merged commit f0fe8c8 into master Mar 27, 2026
45 checks passed
@lazebnyi Serhii Lazebnyi (lazebnyi) deleted the devin/1773870614-granular-scopes-gong branch March 27, 2026 21:59
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