Skip to content

feat(source-partnerstack): add missing fields to Transactions stream schema#74086

Open
Lucas Leadbetter (lleadbet) wants to merge 4 commits intomasterfrom
devin/1772208523-source-partnerstack-add-missing-transaction-fields
Open

feat(source-partnerstack): add missing fields to Transactions stream schema#74086
Lucas Leadbetter (lleadbet) wants to merge 4 commits intomasterfrom
devin/1772208523-source-partnerstack-add-missing-transaction-fields

Conversation

@lleadbet
Copy link
Contributor

@lleadbet Lucas Leadbetter (lleadbet) commented Feb 27, 2026

What

The Transactions stream schema in source-partnerstack is missing several fields that the PartnerStack API returns. This PR adds the missing fields.

How

Updates the inline schema for the transactions stream in manifest.yaml:

  • Added fields: test (boolean), metadata (object), archived (boolean), company (object)

All changes are purely additive and were validated against the PartnerStack OpenAPI spec.

Version bumped to 0.3.12 with changelog entry.

Updates since last revision

  • Reverted the product_key type change (objectstring) per reviewer feedback to avoid a potentially breaking change. The PR is now purely additive.

Review guide

  1. airbyte-integrations/connectors/source-partnerstack/manifest.yaml — schema additions in the transactions schema block (bottom of file)
  2. airbyte-integrations/connectors/source-partnerstack/metadata.yaml — version bump 0.3.110.3.12
  3. docs/integrations/sources/partnerstack.md — changelog entry

Human review checklist

  • The changelog entry in partnerstack.md still mentions "fix product_key type from object to string" but that change was reverted. The changelog text should be updated before merge.
  • Confirm the added fields (test, metadata, archived, company) match actual API responses — these were identified from the OpenAPI spec but not validated against a live PartnerStack account.

User Impact

Users syncing the Transactions stream will now see test, metadata, archived, and company fields properly typed in their schema.

Can this PR be safely reverted and rolled back?

  • YES 💚

Link to Devin run: https://app.devin.ai/sessions/195ce7694bdb4d83abaa8837af4599df
Requested by: Lucas Leadbetter (@lleadbet)

…schema

Add test, metadata, archived, and company fields to the Transactions
stream schema to match the PartnerStack API response. Also fix
product_key type from object to string.

Co-Authored-By: lucas.leadbetter@airbyte.io <lucas.leadbetter@gmail.com>
@devin-ai-integration
Copy link
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

@devin-ai-integration devin-ai-integration bot marked this pull request as draft February 27, 2026 16:10
@octavia-bot
Copy link
Contributor

octavia-bot bot commented Feb 27, 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
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
    • /bump-bulk-cdk-version bump=patch changelog='foo' - Bump the Bulk CDK's version. bump can be major/minor/patch.
  • 🐍 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.

Co-Authored-By: lucas.leadbetter@airbyte.io <lucas.leadbetter@gmail.com>
@github-actions
Copy link
Contributor

github-actions bot commented Feb 27, 2026

source-partnerstack Connector Test Results

14 tests   5 ✅  28s ⏱️
 1 suites  4 💤
 1 files    5 ❌

For more details on these failures, see this check.

Results for commit e73dc27.

♻️ This comment has been updated with latest results.

@lleadbet
Copy link
Contributor Author

Lucas Leadbetter (lleadbet) commented Feb 27, 2026

/ai-review

PR AI Review Started

Evaluating connector PR for safety and quality.
View workflow run
AI PR Review starting...

Reviewing PR for connector safety and quality.
View playbook

Devin AI session created successfully!

@octavia-bot octavia-bot bot marked this pull request as ready for review February 27, 2026 16:21
@devin-ai-integration
Copy link
Contributor

🔍 AI PR Review in progress — evaluating gates for this PR. Report will follow shortly.

Session: https://app.devin.ai/sessions/eb43ed9a906a48b99deea3f5020533ff

@devin-ai-integration
Copy link
Contributor

AI PR Review Report

Review Action: REQUEST CHANGES

Gate Status
PR Hygiene PASS
Code Hygiene WARNING
Code Security PASS
Per-Record Performance PASS
Breaking Dependencies PASS
Backwards Compatibility UNKNOWN
Forwards Compatibility PASS
Behavioral Changes PASS
Out-of-Scope Changes PASS
CI Checks FAIL
Live / E2E Tests UNKNOWN
🔧 Remediation Required

Required Actions

CI Checks (FAIL):

  • The Test source-partnerstack Connector check failed with 5 test failures. All failures are FileNotFoundError: No such file or directory: .../secrets/config.json — the connector test credentials are missing from CI.
  • This is an internal PR (author: lleadbet), so credentials should be available. Verify that source-partnerstack has valid test credentials stored in GSM. If the connector has never had CI credentials, this may need to be set up.
  • The Connector CI Checks Summary also failed as a consequence.
  • The Vercel Preview failure is a transient infrastructure issue (Vercel API socket hang up) and is not a core CI check — it does not contribute to this FAIL.

Backwards Compatibility (UNKNOWN — requires human sign-off):

  • The product_key field type was changed from objectstring. While the PR description notes this matches the API spec and the schema has additionalProperties: true (which mitigates breakage), this is a type narrowing change that could affect existing syncs if any historical data contained object-typed values.
  • A human reviewer should confirm this type change is safe for existing connections.

Live / E2E Tests (UNKNOWN):

  • No prerelease version 0.3.12 has been published. The latest published version is 0.3.11.
  • No validation labels (live-tests-passed, prerelease-validated, etc.) are present on the PR.
  • This PR adds new schema fields and changes an existing field type — validation against a live PartnerStack account is recommended.
  • Recommendation: Run /ai-prove-fix to publish a prerelease and validate against live connections, or provide justification if validation is not required.

📋 PR Details & Eligibility

Connector & PR Info

Connector(s): source-partnerstack
PR: #74086
HEAD SHA: ba64829ecbb669e88379296db71e827291cb458d
Session: https://app.devin.ai/sessions/eb43ed9a906a48b99deea3f5020533ff

Auto-Approve Eligibility

Eligible: No
Category: not-eligible
Reason: PR contains functional schema changes (new fields added, field type changed) in manifest.yaml. This is not docs-only, additive-spec-only, patch/minor deps, or comment/whitespace-only.

Review Action Details

REQUEST CHANGES — The CI Checks gate has definitively FAILed (test check failed, not pending). The Backwards Compatibility gate requires human sign-off for the product_key type change. Live / E2E Tests evidence is missing.

Note: This bot can approve PRs when all gates pass AND the PR is eligible for auto-approval (docs-only, additive spec changes, patch/minor dependency bumps, or comment/whitespace-only changes). PRs with other types of changes require human review even if all gates pass.

🔍 Gate Evaluation Details

Gate-by-Gate Analysis

Gate Status Enforced? Details
PR Hygiene PASS Yes Description present with What/How/Review guide sections. Changelog entry added. Version bumped 0.3.11 → 0.3.12.
Code Hygiene WARNING WARNING No new unit tests, but changes are schema-only (YAML field additions). Manifest-only connectors have limited testability. Test failures are credential-related, not code quality.
Code Security PASS Yes No auth/credential patterns, API keys, or security-sensitive keywords in diff. Changes are purely schema definitions.
Per-Record Performance PASS WARNING No changes to record processing logic. Schema-only changes do not affect per-record performance.
Breaking Dependencies PASS WARNING No dependency changes. Version bump is connector version only.
Backwards Compatibility UNKNOWN Blocks Auto-Approve product_key type changed from objectstring. While additionalProperties: true mitigates schema validation breakage, this is a type narrowing that could affect destinations expecting object data. Requires human sign-off.
Forwards Compatibility PASS Blocks Auto-Approve New fields (test, metadata, archived, company) are additive and rollback-safe. The product_key type change is the only concern but rolling back would revert to the old (incorrect) type.
Behavioral Changes PASS Blocks Auto-Approve No changes to rate limits, retries, timeouts, pagination, or error handling.
Out-of-Scope Changes PASS Skip All changes are within airbyte-integrations/connectors/source-partnerstack/ and docs/integrations/sources/partnerstack.md.
CI Checks FAIL Yes Test source-partnerstack Connector failed (5/14 tests failed due to missing secrets/config.json). Lint source-partnerstack Connector passed.
Live / E2E Tests UNKNOWN Yes No prerelease 0.3.12 published. No validation labels present. MCP query confirmed latest version is 0.3.11.

Detailed Trigger Analysis

Backwards Compatibility triggers:

  • File: airbyte-integrations/connectors/source-partnerstack/manifest.yaml
  • Trigger: Type change product_key: object → string (line ~817-820 in base vs line ~830-832 in PR)
  • The PR author acknowledges this in the review checklist: "Verify the product_key type change from objectstring is safe for existing syncs"

CI Checks triggers:

  • Test source-partnerstack Connector (job_id: 65163686721): 5 FAILED, 5 passed, 4 skipped
  • All 5 failures: FileNotFoundError for secrets/config.json
  • Failed tests: test_docker_image_build_and_check, test_check, test_discover, test_basic_read, test_fail_read_with_bad_catalog
📚 Evidence Consulted

Evidence

  • Changed files: 3 files (+19/-2 lines)
    • airbyte-integrations/connectors/source-partnerstack/manifest.yaml — schema field additions and type fix
    • airbyte-integrations/connectors/source-partnerstack/metadata.yaml — version bump 0.3.11 → 0.3.12
    • docs/integrations/sources/partnerstack.md — changelog entry
  • CI checks: 4 failed (Test connector, Test results, CI Summary, Vercel Preview), 1 pending (Generate Connector Matrix), 34 passed, 9 skipped
  • PR labels: None observed (no validation or override labels)
  • PR description: Present with detailed What/How/Review guide/Human review checklist
  • Existing bot reviews: None (first review for this HEAD SHA)
  • MCP verification: query_prod_connector_versions confirmed no prerelease version 0.3.12 exists
❓ How to Respond

Providing Context or Justification

You can add explanations that the bot will see on the next review:

Option 1: PR Description (recommended)
Add a section to your PR description:

## AI PR Review Justification

### {Gate Name}
[Your explanation here]

Option 2: PR Comment
Add a comment starting with:

AI PR Review Justification:
[Your explanation here]

After adding your response, re-run /ai-review to have the bot evaluate it.

Note: Justifications provide context for the bot to evaluate. For some gates (like the Live / E2E Tests gate), a sufficient justification can lead to PASS. For other gates, justifications help explain the situation but may still require escalation if the gate cannot be remediated.


Devin session

Copy link
Contributor

@octavia-bot octavia-bot bot left a comment

Choose a reason for hiding this comment

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

AI PR Review: Gates Failed

This PR has failing gates that require attention before merge. See the gate report comment above for details and remediation steps.

This review was automatically submitted by the AI PR Review system.

devin-ai-integration bot and others added 2 commits February 27, 2026 16:32
Co-Authored-By: lucas.leadbetter@airbyte.io <lucas.leadbetter@gmail.com>
Co-Authored-By: lucas.leadbetter@airbyte.io <lucas.leadbetter@gmail.com>
@github-actions
Copy link
Contributor

github-actions bot commented Feb 27, 2026

Deploy preview for airbyte-docs ready!

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

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

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.

2 participants