Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/pr-welcome-community.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,3 @@ As needed or by request, Airbyte Maintainers can execute the following slash com
- `/test` - Runs connector tests with the updated CDK

If you have any questions, feel free to ask in the PR comments or join our [Slack community](https://airbytehq.slack.com/).

2 changes: 1 addition & 1 deletion .github/workflows/connector-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ jobs:
cdk_extra: file-based
- connector: destination-motherduck
# For now, we mark as 'n/a' to always test this connector
cdk_extra: n/a # change to 'sql' to test less often
cdk_extra: n/a # change to 'sql' to test less often
# source-amplitude failing for unrelated issue "date too far back"
# e.g. https://github.com/airbytehq/airbyte-python-cdk/actions/runs/16053716569/job/45302638848?pr=639
# - connector: source-amplitude
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/slash_command_dispatch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ jobs:
pr=${{ github.event.issue.pull_request != null && github.event.issue.number || '' }}
comment-id=${{ github.event.comment.id }}


- name: Edit comment with error message
if: steps.dispatch.outputs.error-message
uses: peter-evans/create-or-update-comment@v4
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,6 @@ dist
.vscode
**/__pycache__
.tmp

# ASDF tool versions files
.tool-versions
7 changes: 4 additions & 3 deletions airbyte_cdk/manifest_migrations/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,15 @@ This directory contains the logic and registry for manifest migrations in the Ai

3. **Register the Migration:**
- Open `migrations/registry.yaml`.
- Add an entry under the appropriate version, or create a new version section if needed.
- Version can be: "*", "==6.48.3", "~=1.2", ">=1.0.0,<2.0.0", "6.48.3"
- Add an entry under the appropriate version, or create a new version section if needed.
- Version can be: "*", "==6.48.3", "~=1.2", ">=1.0.0,<2.0.0", "6.48.3"
- Each migration entry should include:
- `name`: The filename (without `.py`)
- `order`: The order in which this migration should be applied for the version
- `description`: A short description of the migration

Example:

```yaml
manifest_migrations:
- version: 6.45.2
Expand Down Expand Up @@ -71,4 +72,4 @@ class ExampleMigration(ManifestMigration):

---

For more details, see the docstrings in `manifest_migration.py` and the examples in the `migrations/` folder.
For more details, see the docstrings in `manifest_migration.py` and the examples in the `migrations/` folder.
2 changes: 1 addition & 1 deletion airbyte_cdk/manifest_migrations/migrations/registry.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

manifest_migrations:
- version: "*"
migrations:
migrations:
- name: http_requester_url_base_to_url
order: 1
description: |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@
"rates": {
"fake_currency": 1.2345
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@
"rates": {
"fake_currency": 1.2345
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@
"updated_at": "2025-03-11T23:33:57Z"
}
]
}
}
70 changes: 34 additions & 36 deletions unit_tests/resource/http/response/file_api/articles.json
Original file line number Diff line number Diff line change
@@ -1,37 +1,35 @@
{
"count": 7,
"next_page": null,
"end_time": 1741736037,
"articles": [
{
"id": 12138789487375,
"url": "https://d3v-airbyte.zendesk.com/api/v2/help_center/en-us/articles/12138789487375.json",
"html_url": "https://d3v-airbyte.zendesk.com/hc/en-us/articles/12138789487375-This-is-an-article-with-an-attachment",
"author_id": 360786799676,
"comments_disabled": false,
"draft": true,
"promoted": false,
"position": 0,
"vote_sum": 0,
"vote_count": 0,
"section_id": 7253394947215,
"created_at": "2025-03-11T23:33:57Z",
"updated_at": "2025-03-11T23:33:57Z",
"name": "This is an article with an attachment!",
"title": "This is an article with an attachment!",
"source_locale": "en-us",
"locale": "en-us",
"outdated": false,
"outdated_locales": [],
"edited_at": "2025-03-11T23:33:57Z",
"user_segment_id": 7253375826191,
"permission_group_id": 7253379449487,
"content_tag_ids": [],
"label_names": [],
"body": "<p>Here be some text<img src=\"https://d3v-airbyte.zendesk.com/hc/article_attachments/12138758717583\" alt=\"some_image.webp\"></p>",
"user_segment_ids": [
7253375826191
]
}
]
}
"count": 7,
"next_page": null,
"end_time": 1741736037,
"articles": [
{
"id": 12138789487375,
"url": "https://d3v-airbyte.zendesk.com/api/v2/help_center/en-us/articles/12138789487375.json",
"html_url": "https://d3v-airbyte.zendesk.com/hc/en-us/articles/12138789487375-This-is-an-article-with-an-attachment",
"author_id": 360786799676,
"comments_disabled": false,
"draft": true,
"promoted": false,
"position": 0,
"vote_sum": 0,
"vote_count": 0,
"section_id": 7253394947215,
"created_at": "2025-03-11T23:33:57Z",
"updated_at": "2025-03-11T23:33:57Z",
"name": "This is an article with an attachment!",
"title": "This is an article with an attachment!",
"source_locale": "en-us",
"locale": "en-us",
"outdated": false,
"outdated_locales": [],
"edited_at": "2025-03-11T23:33:57Z",
"user_segment_id": 7253375826191,
"permission_group_id": 7253379449487,
"content_tag_ids": [],
"label_names": [],
"body": "<p>Here be some text<img src=\"https://d3v-airbyte.zendesk.com/hc/article_attachments/12138758717583\" alt=\"some_image.webp\"></p>",
"user_segment_ids": [7253375826191]
}
]
}
5 changes: 2 additions & 3 deletions unit_tests/sources/declarative/file/file_stream_manifest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -154,14 +154,13 @@ definitions:
http_method: GET
authenticator:
type: SelectiveAuthenticator
authenticator_selection_path: [ "credentials", "credentials" ]
authenticator_selection_path: ["credentials", "credentials"]
authenticators:
oauth2.0: "#/definitions/bearer_authenticator"
api_token: "#/definitions/basic_authenticator"
download_target_extractor:
type: DpathExtractor
field_path: [ "content_url" ]

field_path: ["content_url"]

streams:
- $ref: "#/definitions/articles_stream"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -154,16 +154,15 @@ definitions:
http_method: GET
authenticator:
type: SelectiveAuthenticator
authenticator_selection_path: [ "credentials", "credentials" ]
authenticator_selection_path: ["credentials", "credentials"]
authenticators:
oauth2.0: "#/definitions/bearer_authenticator"
api_token: "#/definitions/basic_authenticator"
download_target_extractor:
type: DpathExtractor
field_path: [ "content_url" ]
field_path: ["content_url"]
filename_extractor: "{{ record.id }}/{{ record.file_name }}/"


streams:
- $ref: "#/definitions/articles_stream"
- $ref: "#/definitions/article_attachments_stream"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ requester:
login_requester:
path: /session
type: HttpRequester
url_base: 'https://api.sendgrid.com'
url_base: "https://api.sendgrid.com"
http_method: POST
request_body_json:
password: '{{ config.apikey }}'
username: '{{ parameters.name }}'
password: "{{ config.apikey }}"
username: "{{ parameters.name }}"
session_token_path:
- id
request_authentication:
Expand Down Expand Up @@ -109,15 +109,15 @@ list_stream:
primary_key: "id"
extractor:
$ref: "#/extractor"
field_path: [ "{{ parameters['name'] }}" ]
field_path: ["{{ parameters['name'] }}"]
status_mapping:
failed:
- Error
running:
- Pending
completed:
- Success
timeout: [ ]
timeout: []
status_extractor:
type: DpathExtractor
field_path:
Expand Down Expand Up @@ -179,4 +179,4 @@ list_stream:
primary_key: "id"
extractor:
$ref: "#/extractor"
field_path: ["{{ parameters['name'] }}"]
field_path: ["{{ parameters['name'] }}"]
Loading