Automated repository migration from GitLab groups to Gitea organizations
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
What this workflow does
This workflow has 8 nodes and runs manually, when you click “Execute workflow”. It uses only n8n's built-in nodes.
How it runs
Trigger: Manually, when you click “Execute workflow”.
- Setup (CHANGE ME) (Edit Fields (Set)): sets 3 fields: gitlabAccessToken, gitlabGroupPathName, giteaOrganizationPathName
- Gitlab: Get projects (HTTP Request): calls an HTTP API
- Loop Over Items (Loop Over Items (Split in Batches)): loops over the items in batches
- Gitea: Search for repo (HTTP Request): calls an HTTP API
- Switch: routes items into 1 branches
- Gitea: Migrate repo (HTTP Request): calls an HTTP API (POST)
- Stop and Error: stops the run with an error
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (6)
- Manual Trigger
n8n-nodes-base.manualTrigger - Loop Over Items (Split in Batches)
n8n-nodes-base.splitInBatches - Switch
n8n-nodes-base.switch - Stop and Error
n8n-nodes-base.stopAndError - Edit Fields (Set)
n8n-nodes-base.set - HTTP Request
n8n-nodes-base.httpRequest
From the author
This flow migrates all repositories of a Gitlab group to a Gitea organization by triggering Gitea's integrated migration tool. Set up steps: 1. Copy this workflow 2. Create an empty Gitea-organization you want to migrate to. (The flow will skip all projects…