Skip to content

feature(connectors/rillet): add new Rillet connector example#556

Open
jacksonbailey-maker wants to merge 23 commits intofivetran:mainfrom
jacksonbailey-maker:main
Open

feature(connectors/rillet): add new Rillet connector example#556
jacksonbailey-maker wants to merge 23 commits intofivetran:mainfrom
jacksonbailey-maker:main

Conversation

@jacksonbailey-maker
Copy link
Copy Markdown

Jira ticket

Unable to create ticket due to existing account not being granted access to Jira on fivetran.atlassian.net

Description of Change

Summary
This PR adds a new Rillet connector example to the repo, including full connector implementation, configuration template, README documentation, and a local connector test harness. The user will need to provide their own API key in the configuration.json file, alone with specifying the api_version if using one other than version 3.

Files added

  • connector.py
  • configuration.json
  • README.md
  • test_connector.py

What changed

  • Implemented with:
    • validate_configuration() for required config checks
    • schema() derived from endpoint metadata
    • update() sync loop over Rillet collection endpoints
    • robust _make_request() with retries, exponential backoff, and 429/5xx handling
    • cursor-based pagination, incremental sync using updated.gt, and checkpointing
    • support for optional endpoints, including graceful skip of vendor-credits 404s
  • Added a configuration template with placeholder values:
    • api_key
    • base_url
    • api_version
  • Added user-facing documentation in README.md:
    • connector overview
    • requirements
    • getting started
    • features
    • data handling
    • error handling
    • tables created
    • additional considerations
      Added test_connector.py to validate connector structure and local debug logic without the real SDK.

Testing

  • Confirmed syntax for connector.py via Python compile check.
  • test_connector.py is included to allow local validation of connector import and logic without requiring Fivetran runtime.

Checklist

Some tips and links to help validate your PR:

  • Tested the connector with fivetran debug command.
  • Added/Updated example-specific README.md file, see the README template for the required structure and guidelines.
  • Followed Python Coding Standards, refer here

@cla-assistant
Copy link
Copy Markdown

cla-assistant Bot commented Mar 31, 2026

CLA assistant check
All committers have signed the CLA.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a new Connector SDK example for syncing Rillet accounting resources, including connector implementation, configuration template, and documentation.

Changes:

  • Added connector.py implementing schema generation, incremental/paginated sync, retries/backoff, and checkpointing.
  • Added configuration.json template for connector configuration.
  • Added example documentation (README.md) and a local validation harness (test_connector.py).
  • Added a root CLAUDE.md with AI assistant instructions.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 26 comments.

Show a summary per file
File Description
connectors/rillet/connector.py New Rillet connector example with pagination/incremental logic, retry handling, and state checkpointing.
connectors/rillet/configuration.json New configuration template for API key/base URL/version.
connectors/rillet/README.md New user-facing documentation for running/configuring the example.
connectors/rillet/test_connector.py New local “mock SDK” harness to validate basic import/execution.
CLAUDE.md New top-level AI assistant instruction file.

Comment thread connectors/rillet/configuration.json Outdated
Comment thread connectors/rillet/connector.py Outdated
Comment thread connectors/rillet/connector.py Outdated
Comment thread connectors/rillet/connector.py
Comment thread connectors/rillet/connector.py
Comment thread connectors/rillet/connector.py
Comment thread connectors/rillet/README.md
Comment thread connectors/rillet/connector.py
Comment thread connectors/rillet/connector.py
Comment thread CLAUDE.md Outdated
Comment thread connectors/rillet/configuration.json Outdated
@jacksonbailey-maker jacksonbailey-maker requested review from a team as code owners April 1, 2026 13:35
@github-actions github-actions Bot added the size/L PR size: Large label Apr 7, 2026
Copy link
Copy Markdown
Author

@jacksonbailey-maker jacksonbailey-maker left a comment

Choose a reason for hiding this comment

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

I've made all of the requested changes

Copy link
Copy Markdown
Contributor

@fivetran-sahilkhirwal fivetran-sahilkhirwal left a comment

Choose a reason for hiding this comment

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

Hi @jacksonbailey-maker
Can you please address the existing minor comments :)
Apart from them, the example looks good

Comment thread README.md Outdated
jacksonbailey-maker and others added 3 commits April 8, 2026 13:16
Co-authored-by: Sahil Khirwal <sahil.khirwal@fivetran.com>
Co-authored-by: Sahil Khirwal <sahil.khirwal@fivetran.com>
@github-actions github-actions Bot added size/XL PR size: extra large and removed size/L PR size: Large labels Apr 8, 2026
jacksonbailey-maker and others added 2 commits April 8, 2026 13:34
Co-authored-by: Sahil Khirwal <sahil.khirwal@fivetran.com>
Co-authored-by: Sahil Khirwal <sahil.khirwal@fivetran.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 8 comments.

Comment thread connectors/rillet/connector.py
Comment thread connectors/rillet/connector.py
Comment thread connectors/rillet/connector.py
Comment thread connectors/rillet/README.md
Comment thread connectors/rillet/README.md
Comment thread README.md
Comment thread connectors/rillet/connector.py
Comment thread connectors/rillet/README.md
Copy link
Copy Markdown
Contributor

@fivetran-JenasVimal fivetran-JenasVimal left a comment

Choose a reason for hiding this comment

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

LGTM
Just add testing details by uploading screenshots of fivetran debug and fivetran deploy

@jacksonbailey-maker
Copy link
Copy Markdown
Author

Here is a Rillet connector debug example:

fivetran-debug-example

Here is a Rillet connector deploy example:

fivetran-deploy-example

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.

Left a few suggestions. I also think Co-pilot's review comments are valid, for example, including the Authentication section.

Comment thread connectors/rillet/README.md Outdated
Comment thread connectors/rillet/README.md
Comment thread connectors/rillet/README.md
Comment thread connectors/rillet/README.md Outdated
Co-authored-by: fivetran-chinmayichandrasekar <chinmayi.chandrasekar@fivetran.com>
@github-actions github-actions Bot added size/XL PR size: extra large and removed size/L PR size: Large labels Apr 15, 2026
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.

LGTM

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.

5 participants