Täglicher automatischer Sicherungsworkflow für GitHub

Fortgeschritten

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

Voraussetzungen
  • GitHub Personal Access Token
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "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
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

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.

Workflow-Informationen
Schwierigkeitsgrad
Fortgeschritten
Anzahl der Nodes13
Kategorie3
Node-Typen9
Schwierigkeitsbeschreibung

Für erfahrene Benutzer, mittelkomplexe Workflows mit 6-15 Nodes

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34