docs(destination-sftp-json): fix output file naming, add setup and troubleshooting - #84391
Draft
devin-ai-integration[bot] wants to merge 2 commits into
Draft
docs(destination-sftp-json): fix output file naming, add setup and troubleshooting#84391devin-ai-integration[bot] wants to merge 2 commits into
devin-ai-integration[bot] wants to merge 2 commits into
Conversation
…leshooting Co-Authored-By: bot_apk <apk@cognition.ai>
Co-Authored-By: bot_apk <apk@cognition.ai>
Contributor
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
Contributor
👋 Greetings, Airbyte Team Member!Here are some helpful tips and reminders for your convenience. 💡 Show Tips and TricksPR Slash CommandsAirbyte Maintainers (that's you!) can execute the following slash commands on your PR:
📚 Show Repo GuidanceHelpful Resources
|
Contributor
|
Deploy preview for airbyte-docs ready!
Deployed with vercel-action |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Triggering Context
Run triggered by: Merged connector commit on
master—389b32dff7b70dca7fbd7f17e42250b3f72fdf00, "fix(destination-sftp-json): escape SFTP URI components" (destination-sftp-json 0.2.16).Relevant context: #78111
Confidence impact: The trigger is a small, already-merged bug fix with a clear diff and unit test, so the scope of what needed documenting was unambiguous (Triggering Context 5/5).
Documentation Confidence Assessment
Overall Confidence: 3/5
spec.json,client.py,destination.py, and the unit tests, which I read in full.ql100 /sl100, alpha release stage.Adjustments based on code comprehension
Baseline for Python CDK is 3.
destination_sftp_json/spec.json, including which fields are required and the port default of 22.unit_tests/unit_test.py::test_get_uri_escapes_reserved_charactersasserts that a password containing#round-trips throughsmart_open.ssh.parse_uri, which is the claim in the new troubleshooting entry.SftpClient._get_pathandtest_get_path.What I Verified vs. What I Inferred
filenameconfig field. The only fields arehost,port,username,password, anddestination_path(spec.json).{destination_path}/airbyte_json_{stream}.jsonl(SftpClient._get_path), so the file name derives from the stream name only._airbyte_*metadata columns (SftpClient.writeserializesrecord.data).DestinationSftpJson.write); append modes open with modea+.checkwrites then deletes a file underdestination_path, so the account needs write and delete permission there (DestinationSftpJson.check).destination_pathmust already exist.paramiko.SSHClient.connectis called withlook_for_keys=False.SftpClient._get_uri,#78111).supported_destination_sync_modesandsupportsIncrementalinspec.json.externalDocumentationUrlsentry is the IETF draft.destination_path. This is the code's behavior, but I did not reproduce it.Areas of Concern
filenameexample has been there since the connector was added in 2022. If some deployment path does surface afilenamefield that I couldn't find in the spec, my correction would be wrong — worth a second pair of eyes.2026-05-15; I changed it to2026-08-13, the date#78111merged tomaster.What
Fixes and expands the destination-sftp-json documentation. The main correctness problem: the "Getting Started" section told users to configure a
filenamefield and predicted output at{destination_path}/{filename}.jsonl. No such field exists in the connector's spec, and the connector names files after the stream. Anyone following the old example would look for a file that never appears.The doc also had no configuration reference, no troubleshooting, and nothing about how overwrite versus append behaves — and the 0.2.16 changelog entry carried the date the version was bumped rather than the date it merged.
How
Corrections
filenamefield and its example. Replaced with the actual naming scheme,{destination_path}/airbyte_json_{stream_name}.jsonl, and a worked example.2026-05-15to2026-08-13(the merge date of fix(destination-sftp-json): escape SFTP URI components #78111) and made the entry describe the user-visible effect rather than only the internal change.Additions
destination_pathmust already exist._airbyte_*metadata columns, and the namespace collision that follows from naming files after streams alone.Removals and restructuring
Review guide
docs/integrations/destinations/sftp-json.mdlines 5–23 — prerequisites and the config table, checked againstdestination_sftp_json/spec.json.SftpClient._get_path.User Impact
Users configuring this destination stop looking for a
filenamefield that doesn't exist, and can find the output path, required permissions, and the password-special-character fix without reading the source.Can this PR be safely reverted and rolled back?
Requested automatically by the autodoc workflow (GitHub CI service account) after commit 389b32d merged to
master.Devin session