Skip to content

feat(migration/wekan): import attachments from board export - #2617

Merged
kolaente merged 1 commit into
mainfrom
feat-wekan-attachment-import
Apr 13, 2026
Merged

feat(migration/wekan): import attachments from board export#2617
kolaente merged 1 commit into
mainfrom
feat-wekan-attachment-import

Conversation

@tink-bot

Copy link
Copy Markdown
Collaborator

The WeKan importer ignored the attachments array in board JSON exports, so users lost all card attachments when migrating. This PR decodes each base64-encoded attachment and attaches it to the corresponding task.

Orphaned attachments (cardId with no matching card) and decode errors are logged and skipped rather than failing the import.

Parse the top-level `attachments` array in WeKan board JSON exports,
group them by card ID, base64-decode the payload, and attach the
resulting files to the generated tasks so they land in Vikunja as
task attachments. Orphaned attachments (cardId with no matching card)
are silently skipped; decode errors are logged and skipped.
@github-actions github-actions Bot added area/attachments File attachments on tasks: upload, preview, download area/import-export Importers (WeKan, Todoist, …) and data exports labels Apr 13, 2026
@github-actions

Copy link
Copy Markdown

Preview Deployment

Preview deployments for this PR are available at:

URL Tag Commit
https://pr-2617.preview.vikunja.dev ghcr.io/go-vikunja/vikunja:pr-2617 latest
https://sha-1eafd31a2a800851cd822e51c1d6e603e39724e6.preview.vikunja.dev ghcr.io/go-vikunja/vikunja:sha-1eafd31a2a800851cd822e51c1d6e603e39724e6 1eafd31

The preview environment will start automatically on first visit. Subsequent pushes to this PR will update the pr-2617 image — the preview picks up the new version on restart. The per-commit URLs point to a specific version and will not change.

Run locally with Docker
docker pull ghcr.io/go-vikunja/vikunja:pr-2617
docker run -p 3456:3456 ghcr.io/go-vikunja/vikunja:pr-2617

Last updated for commit 1eafd31

@kolaente
kolaente added this pull request to the merge queue Apr 13, 2026
Merged via the queue into main with commit 8583607 Apr 13, 2026
38 checks passed
@kolaente
kolaente deleted the feat-wekan-attachment-import branch April 13, 2026 16:13
@kolaente

Copy link
Copy Markdown
Member

This works, but it needs this PR patched in, otherwise the export will always contain empty attachments: wekan/wekan#6279

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/attachments File attachments on tasks: upload, preview, download area/import-export Importers (WeKan, Todoist, …) and data exports

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants