Migrate all repositories from a GitLab group to a Gitea organization automatically using this efficient n8n workflow. Includes error handling and dynamic API requests for seamless migration.
Download this n8n workflow template and start using it instantly.
This professional n8n workflow solves the complex challenge of migrating multiple code repositories between Git hosting platforms. Specifically designed for moving repositories from a GitLab Group to a Gitea Organization, this n8n automation template handles the entire process—from bulk fetching project lists (with full pagination support) to conditional migration based on existence checks. By using sophisticated flow control and API calls, this n8n workflow ensures that only missing repositories are migrated, preventing duplication and standardizing the migration process. It's a prime example of a robust n8n node structure built for critical infrastructure operations.
This efficient n8n workflow executes a multi-step migration process, triggered manually for control:
ManualTrigger n8n trigger. The subsequent Setup (CHANGE ME) n8n node initializes critical configuration variables, including the GitLab Access Token, the source GitLab group path name, and the target Gitea organization path name. This ensures the rest of the n8n workflow uses consistent parameters.Gitlab: Get projects n8n node calls the GitLab API to retrieve a list of all projects within the defined group path. Crucially, this n8n node is configured to handle API pagination automatically, guaranteeing that every single repository, regardless of the group size, is captured.Loop Over Items n8n node iterates through the array of projects returned by GitLab, processing each repository migration sequentially.Gitea: Search for repo n8n node attempts to retrieve the repository from the target Gitea organization. This n8n node is configured to allow errors to continue the output flow, specifically to capture 404 errors when the repository does not exist.Switch error codes n8n node inspects the status code resulting from the search attempt. If the status is 404 (Repository Not Found), the flow proceeds to the migration step. If any other error code is detected, the flow is routed to the Stop and Error n8n node, halting the n8n workflow due to an unexpected issue.Gitea: Migrate repo n8n node executes a highly detailed POST request to the Gitea API's migration endpoint. It uses dynamic data derived from the current GitLab item (clone URL, description, repository name) and the stored GitLab access token (for Gitea to authenticate against GitLab) to ensure a complete migration, including features like issues, milestones, and pull requests. The successful execution loops back to the start of the next item in the Loop Over Items n8n node.To use this powerful n8n workflow template, follow these steps:
gitlab.com access. This requires a GitLab Personal Access Token with the necessary scope (e.g., api scope).gitea.example.com). This requires a Gitea Access Token.Setup (CHANGE ME) n8n node and update the following values:gitlabAccessToken: Your actual GitLab Personal Access Token.gitlabGroupPathName: The path name of the source group in GitLab (e.g., my-company/team-dev).giteaOrganizationPathName: The path name of the target organization in Gitea (e.g., new-org).Gitea: Search for repo and Gitea: Migrate repo n8n nodes are updated from https://gitea.example.com/ to your actual Gitea instance domain.When clicking ‘Execute workflow’ n8n trigger. Manual Trigger: The starting n8n trigger for immediate execution.
Setup (CHANGE ME) (Set): Defines global variables used throughout the n8n workflow, including the GitLab token and source/target organization paths. Key configurations: Defines gitlabAccessToken, gitlabGroupPathName, and giteaOrganizationPathName.
Gitlab: Get projects (HTTP Request): Fetches all repositories from the specified GitLab group. Key Configuration: Uses pagination logic (x-next-page and x-total-pages headers) to retrieve data efficiently, making this n8n node scalable.
Loop Over Items (Split In Batches): Processes the list of GitLab projects one by one, enabling iterative logic for each repository.
Gitea: Search for repo (HTTP Request): Checks for the existence of the repository in the Gitea organization. Key Configuration: onError: continueErrorOutput is essential to catch 404 errors without stopping the n8n workflow execution.
Switch error codes (Switch): A core logic n8n node that routes the workflow path based on API response status. Key Configuration: Checks if {{ $json.error.status }} equals 404.
cloneaddr, reponame) and specifies that issues, pull requests, releases, and wikis should be migrated.Use this powerful n8n workflow to automatically reply to X (Twitter) threads using Airtop browser automation, significantly saving time on social media engagement tasks. Explore other useful n8n templates.

Use this powerful n8n workflow to automate referral rewards. It verifies emails, generates custom visual coupons from HTML/CSS, and logs success or failure outcomes to Google Sheets.

Use this powerful n8n workflow to automatically scrape Reddit for B2B leads, classify post intent using Google Gemini AI, and save high-value opportunities to Google Sheets.

Use this comprehensive n8n workflow to automate your request-to-quote process. Combines n8n form data, Google Sheets, OpenAI intelligence, and CraftMyPDF generation for instant quote delivery.

Use this powerful n8n workflow to generate comprehensive, structured research reports automatically. It leverages OpenAI Agents, Google Search, Wikipedia, and News APIs, compiling results into a professional PDF sent via Gmail and Telegram.

Build an intelligent court reservation bot using this powerful n8n workflow template. Leverage the AI Agent n8n node, Telegram trigger, and Google Sheets for automated booking and conflict resolution.









































