{ "id": "15", "name": "Tools / Backup Gitlab", "nodes": [ { "name": "On clicking 'execute'", "type": "n8n-nodes-base.manualTrigger", "position": [ 250, 400 ], "parameters": {}, "typeVersion": 1, "id": "24950618-4fd5-441f-8116-5f03b33fb56c", "notes": "This manualTrigger node performs automated tasks as part of the workflow." }, { "name": "Export Workflows", "type": "n8n-nodes-base.executeCommand", "position": [ 450, 300 ], "parameters": { "command": "npx n8n export:workflow --backup --output repo/workflows/" }, "typeVersion": 1, "id": "2cabc987-4b9b-4195-873c-c49fefabdc40", "notes": "This executeCommand node performs automated tasks as part of the workflow." }, { "name": "Export Credentials", "type": "n8n-nodes-base.executeCommand", "position": [ 600, 300 ], "parameters": { "command": "npx n8n export:credentials --backup --output repo/credentials/" }, "typeVersion": 1, "id": "574e1616-58ad-4c31-b00c-e723c50c5819", "notes": "This executeCommand node performs automated tasks as part of the workflow." }, { "name": "git add", "type": "n8n-nodes-base.executeCommand", "position": [ 750, 300 ], "parameters": { "command": "git -C repo add ." }, "typeVersion": 1, "id": "b5c8666e-0b93-47b1-9852-28dec78b88b8", "notes": "This executeCommand node performs automated tasks as part of the workflow." }, { "name": "git commit", "type": "n8n-nodes-base.executeCommand", "position": [ 900, 300 ], "parameters": { "command": "=git -C repo commit -m \"Auto backup ({{ new Date().toISOString() }})\"" }, "typeVersion": 1, "id": "9ef28f3b-e766-466d-a307-7f86459f3c0f", "notes": "This executeCommand node performs automated tasks as part of the workflow." }, { "name": "git push", "type": "n8n-nodes-base.executeCommand", "position": [ 1050, 300 ], "parameters": { "command": "git -C repo push" }, "typeVersion": 1, "id": "b53979f5-b5ce-4e8d-96c8-aecf8abb8b94", "notes": "This executeCommand node performs automated tasks as part of the workflow." }, { "name": "Cron", "type": "n8n-nodes-base.cron", "position": [ 250, 200 ], "parameters": { "triggerTimes": { "item": [ { "hour": 0 }, { "hour": 12 }, { "hour": 6 }, { "hour": 18 } ] } }, "typeVersion": 1, "id": "09dcd904-81c6-48d6-ba63-54f8dee93f93", "notes": "This cron node performs automated tasks as part of the workflow." }, { "id": "error-49ab91db", "name": "Error Handler", "type": "n8n-nodes-base.stopAndError", "typeVersion": 1, "position": [ 1000, 400 ], "parameters": { "message": "Workflow execution error", "options": {} } } ], "active": true, "settings": { "executionOrder": "v1", "saveManualExecutions": true, "callerPolicy": "workflowsFromSameOwner", "errorWorkflow": null, "timezone": "UTC", "executionTimeout": 3600, "maxExecutions": 1000, "retryOnFail": true, "retryCount": 3, "retryDelay": 1000 }, "connections": {}, "description": "Automated workflow: Tools / Backup Gitlab. This workflow processes data and performs automated tasks.", "meta": { "instanceId": "workflow-a2d2ee22", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:48.691638", "updatedAt": "2025-09-29T07:07:48.691650", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production" }, "tags": [ "automation", "n8n", "production-ready", "excellent", "optimized" ], "notes": "Excellent quality workflow: Tools / Backup Gitlab. This workflow has been optimized for production use with comprehensive error handling, security, and documentation." }