Täglicher automatischer Sicherungsworkflow für GitHub
Dies ist ein Engineering, DevOps, AI-Bereich Automatisierungsworkflow mit 13 Nodes. Hauptsächlich werden If, N8n, Set, Github, Aggregate und andere Nodes verwendet, kombiniert mit KI-Technologie für intelligente Automatisierung. Tägliche automatische Sicherung von Workflows bei GitHub
- •GitHub Personal Access Token
Verwendete Nodes (13)
{
"nodes": [
{
"id": "2aafc10f-0bb7-419f-a6b3-fa90f5f68653",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
100,
-20
],
"parameters": {
"rule": {
"interval": [
{}
]
}
},
"typeVersion": 1.2
},
{
"id": "da87b4f8-4507-456b-bfc3-3ae7d9400449",
"name": "Workflows abrufen",
"type": "n8n-nodes-base.n8n",
"position": [
580,
-20
],
"parameters": {
"filters": {},
"requestOptions": {}
},
"typeVersion": 1
},
{
"id": "6cd7d968-6fa0-4ab0-ac58-ceb15c8b7b4a",
"name": "Aggregieren",
"type": "n8n-nodes-base.aggregate",
"position": [
420,
-20
],
"parameters": {
"options": {},
"fieldsToAggregate": {
"fieldToAggregate": [
{
"fieldToAggregate": "name"
}
]
}
},
"typeVersion": 1
},
{
"id": "854f6e82-babb-474e-a138-2a6c398fd60e",
"name": "Dateien aus Repo auflisten",
"type": "n8n-nodes-base.github",
"position": [
260,
-20
],
"webhookId": "354d699e-44b0-4444-9d31-af7fd4ff5561",
"parameters": {
"owner": {
"__rl": true,
"mode": "name",
"value": ""
},
"filePath": "=",
"resource": "file",
"operation": "list",
"repository": {
"__rl": true,
"mode": "list",
"value": ""
},
"authentication": "oAuth2"
},
"typeVersion": 1,
"alwaysOutputData": true
},
{
"id": "8abba016-1f34-420a-b10b-3c8e44297725",
"name": "Datei aktualisieren",
"type": "n8n-nodes-base.github",
"position": [
1380,
-100
],
"webhookId": "27218087-8df7-474d-a39f-70cfa9c34ec8",
"parameters": {
"owner": {
"__rl": true,
"mode": "name",
"value": ""
},
"filePath": "={{ $('Retrieve workflows').item.json.name.replace(/\\s+/g, '-').toLowerCase() }}-{{ $('Retrieve workflows').item.json.tags[0].name }}.json",
"resource": "file",
"operation": "edit",
"repository": {
"__rl": true,
"mode": "list",
"value": ""
},
"fileContent": "={{ $('To base64').item.json.data }}",
"commitMessage": "=backup-{{ $('Commit date & file name').item.json.commitDate }}",
"authentication": "oAuth2"
},
"typeVersion": 1
},
{
"id": "d55efcc7-5873-4c9a-b374-b7b31814905b",
"name": "Datei hochladen",
"type": "n8n-nodes-base.github",
"position": [
1380,
60
],
"webhookId": "ce4b561b-acb9-4cd8-b76f-4928dada9674",
"parameters": {
"owner": {
"__rl": true,
"mode": "name",
"value": ""
},
"filePath": "={{ $('Retrieve workflows').item.json.name.replace(/\\s+/g, '-').toLowerCase() }}-{{ $('Retrieve workflows').item.json.tags[0].name }}.json",
"resource": "file",
"repository": {
"__rl": true,
"mode": "list",
"value": ""
},
"fileContent": "={{ $('To base64').item.json.data }}",
"commitMessage": "=backup-{{ $node['Commit date & file name'].json.commitDate }}",
"authentication": "oAuth2"
},
"typeVersion": 1
},
{
"id": "09909c9f-8a68-4670-8396-65fae9be51ff",
"name": "Prüfen, ob Datei existiert",
"type": "n8n-nodes-base.if",
"position": [
1220,
-20
],
"parameters": {
"conditions": {
"string": [
{
"value1": "={{ $('Aggregate').item.json.name }}",
"value2": "={{ $('Retrieve workflows').item.json.name.replace(/\\s+/g, '-').toLowerCase() }}-{{ $('Retrieve workflows').item.json.tags[0].name }}.json",
"operation": "contains"
}
]
}
},
"typeVersion": 1
},
{
"id": "43990124-eac4-4c57-9da3-39053d9e5850",
"name": "Json-Datei",
"type": "n8n-nodes-base.convertToFile",
"position": [
740,
-20
],
"parameters": {
"mode": "each",
"options": {
"format": true
},
"operation": "toJson"
},
"typeVersion": 1.1
},
{
"id": "956de457-4d05-4ea8-be7b-390861a739d4",
"name": "Zu Base64",
"type": "n8n-nodes-base.extractFromFile",
"position": [
900,
-20
],
"parameters": {
"options": {},
"operation": "binaryToPropery"
},
"typeVersion": 1
},
{
"id": "fc258985-2621-42a3-9bc6-01048a92b702",
"name": "Notizzettel 1",
"type": "n8n-nodes-base.stickyNote",
"position": [
240,
-160
],
"parameters": {
"color": 5,
"width": 300,
"height": 380,
"content": "### Retrieve previous file names from Github"
},
"typeVersion": 1
},
{
"id": "1bfedd8f-1921-4f33-aa45-7ab612f26059",
"name": "Commit-Datum & Dateiname",
"type": "n8n-nodes-base.set",
"position": [
1060,
-20
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "fe4a36ef-9f04-40e3-99bd-cc517a49b440",
"name": "commitDate",
"type": "string",
"value": "={{ $now.format('dd-MM-yyyy/H:mm') }}"
},
{
"id": "b0fe1bcc-e79c-4a6b-b8b4-44222c8bf4e8",
"name": "fileName",
"type": "string",
"value": "={{ $('Retrieve workflows').item.json.name.replace(/\\s+/g, '-').toLowerCase() }}-{{ $('Retrieve workflows').item.json.tags[0].name }}.json"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "2f36af66-12ca-451a-a1ca-c5a71b94b644",
"name": "Notizzettel 2",
"type": "n8n-nodes-base.stickyNote",
"position": [
560,
-160
],
"parameters": {
"color": 3,
"width": 460,
"height": 380,
"content": "### Retrieve and process workflows from n8n"
},
"typeVersion": 1
},
{
"id": "dc914f31-e6b5-43b0-8a4e-f9f46118fa30",
"name": "Notizzettel 3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1040,
-160
],
"parameters": {
"color": 4,
"width": 460,
"height": 380,
"content": "### Commit + edit/create files if needed"
},
"typeVersion": 1
}
],
"connections": {
"6cd7d968-6fa0-4ab0-ac58-ceb15c8b7b4a": {
"main": [
[
{
"node": "da87b4f8-4507-456b-bfc3-3ae7d9400449",
"type": "main",
"index": 0
}
]
]
},
"43990124-eac4-4c57-9da3-39053d9e5850": {
"main": [
[
{
"node": "956de457-4d05-4ea8-be7b-390861a739d4",
"type": "main",
"index": 0
}
]
]
},
"956de457-4d05-4ea8-be7b-390861a739d4": {
"main": [
[
{
"node": "1bfedd8f-1921-4f33-aa45-7ab612f26059",
"type": "main",
"index": 0
}
]
]
},
"2aafc10f-0bb7-419f-a6b3-fa90f5f68653": {
"main": [
[
{
"node": "854f6e82-babb-474e-a138-2a6c398fd60e",
"type": "main",
"index": 0
}
]
]
},
"da87b4f8-4507-456b-bfc3-3ae7d9400449": {
"main": [
[
{
"node": "43990124-eac4-4c57-9da3-39053d9e5850",
"type": "main",
"index": 0
}
]
]
},
"09909c9f-8a68-4670-8396-65fae9be51ff": {
"main": [
[
{
"node": "8abba016-1f34-420a-b10b-3c8e44297725",
"type": "main",
"index": 0
}
],
[
{
"node": "d55efcc7-5873-4c9a-b374-b7b31814905b",
"type": "main",
"index": 0
}
]
]
},
"854f6e82-babb-474e-a138-2a6c398fd60e": {
"main": [
[
{
"node": "6cd7d968-6fa0-4ab0-ac58-ceb15c8b7b4a",
"type": "main",
"index": 0
}
]
]
},
"1bfedd8f-1921-4f33-aa45-7ab612f26059": {
"main": [
[
{
"node": "09909c9f-8a68-4670-8396-65fae9be51ff",
"type": "main",
"index": 0
}
]
]
}
}
}Wie verwende ich diesen Workflow?
Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.
Für welche Szenarien ist dieser Workflow geeignet?
Fortgeschritten - Engineering, DevOps, Künstliche Intelligenz
Ist es kostenpflichtig?
Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.
Verwandte Workflows
Hugo
@hugopDiesen Workflow teilen