Automatisation GitHub avec n8n : restauration de vos identifiants
Ce workflow n8n a pour objectif de restaurer vos identifiants à partir de GitHub, facilitant ainsi la gestion de vos accès et la sécurité de vos données. Dans un contexte où la gestion des identifiants est cruciale pour les entreprises, ce processus permet d'éviter les pertes de temps liées à la récupération manuelle des informations. Les cas d'usage incluent la restauration rapide des identifiants pour les équipes de développement ou les administrateurs système.
- Étape 1 : le workflow est déclenché manuellement via un nœud de type 'Manual Trigger'.
- Étape 2 : des notes autocollantes sont utilisées pour fournir des informations contextuelles tout au long du processus.
- Étape 3 : le nœud 'Get all files in given path' permet de récupérer tous les fichiers d'un chemin spécifique sur GitHub.
- Étape 4 : les résultats sont ensuite divisés pour un traitement plus facile.
- Étape 5 : le contenu des fichiers est extrait et converti en JSON pour une manipulation plus aisée.
- Étape 6 : enfin, les identifiants sont restaurés dans n8n à l'aide du nœud 'Restore n8n Credentials'. Ce workflow offre une solution efficace pour éviter les erreurs humaines et garantir que les identifiants sont toujours à jour, augmentant ainsi la sécurité et l'efficacité opérationnelle.
Workflow n8n GitHub, gestion des identifiants, sécurité : vue d'ensemble
Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.
Workflow n8n GitHub, gestion des identifiants, sécurité : détail des nœuds
Inscris-toi pour voir l'intégralité du workflow
Inscription gratuite
S'inscrire gratuitementBesoin d'aide ?{
"id": "7zRCNv7B5WFRg7ux",
"meta": {
"instanceId": "e634e668fe1fc93a75c4f2a7fc0dad807ca318b79654157eadb9578496acbc76"
},
"name": "Restore your credentials from GitHub",
"tags": [
{
"id": "2RWIfLUVCa0bnmGX",
"name": "N8n",
"createdAt": "2025-03-06T09:58:39.214Z",
"updatedAt": "2025-03-06T09:58:39.214Z"
}
],
"nodes": [
{
"id": "f8aff38c-3e40-4820-b8f5-50e3e1f878c8",
"name": "When clicking ‘Test workflow’",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-640,
-120
],
"parameters": {},
"typeVersion": 1
},
{
"id": "f838e0c6-36aa-4c0b-bdd2-ef096ffd3d1d",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1020,
-140
],
"parameters": {
"width": 320,
"height": 420,
"content": "## Restore from GitHub \nThis workflow will restore all instance credentials from GitHub backups.\n\n\n### Setup\nOpen `Globals` node and update the values below 👇\n\n- **repo.owner:** your Github username\n- **repo.name:** the name of your repository\n- **repo.path:** the folder to use within the repository.\n\n\nIf your username was `john-doe` and your repository was called `n8n-backups` and you wanted the credentials to go into a `credentials` folder you would set:\n\n- repo.owner - john-doe\n- repo.name - n8n-backups\n- repo.path - credentials/\n"
},
"typeVersion": 1
},
{
"id": "8f59b7b0-ea9d-4209-8c6b-d48fe9d8cf7b",
"name": "Globals",
"type": "n8n-nodes-base.set",
"position": [
-380,
-120
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "6cf546c5-5737-4dbd-851b-17d68e0a3780",
"name": "repo.owner",
"type": "string",
"value": "BeyondspaceStudio"
},
{
"id": "452efa28-2dc6-4ea3-a7a2-c35d100d0382",
"name": "repo.name",
"type": "string",
"value": "n8n-backup"
},
{
"id": "81c4dc54-86bf-4432-a23f-22c7ea831e74",
"name": "repo.path",
"type": "string",
"value": "credentials"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "d72bf1a6-f3a0-4dc0-afc0-e39c7e8b16f3",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-440,
-240
],
"parameters": {
"color": 4,
"width": 150,
"height": 80,
"content": "## Edit this node 👇"
},
"typeVersion": 1
},
{
"id": "4eeb0ed5-7e90-4f09-8296-04c0349de49b",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
100,
20
],
"parameters": {
"color": 4,
"content": "## Skip credential\n- The empty json files\n- The n8n account api\n- ...edit this node at will"
},
"typeVersion": 1
},
{
"id": "40856ade-3ff7-43ef-8c45-ec5a126a5787",
"name": "Get all files in given path",
"type": "n8n-nodes-base.httpRequest",
"position": [
-160,
-120
],
"parameters": {
"url": "=https://api.github.com/repos/{{ $json.repo.owner }}/{{ $json.repo.name }}/contents/{{ $json.repo.path }}",
"options": {},
"authentication": "predefinedCredentialType",
"nodeCredentialType": "githubApi"
},
"credentials": {
"githubApi": {
"id": "3FYHiPFtycAFT8V0",
"name": "GitHub account"
}
},
"typeVersion": 4.2
},
{
"id": "4284aadd-4840-4754-9416-6bb74a1df192",
"name": "Split the result",
"type": "n8n-nodes-base.splitOut",
"position": [
-600,
200
],
"parameters": {
"options": {},
"fieldToSplitOut": "path"
},
"typeVersion": 1
},
{
"id": "48a04e72-5f9e-4dc3-863d-a8bb30f1c8c2",
"name": "Get file content from GitHub",
"type": "n8n-nodes-base.github",
"position": [
-360,
200
],
"parameters": {
"owner": {
"__rl": true,
"mode": "name",
"value": "BeyondspaceStudio"
},
"filePath": "={{ $('Get all files in given path').item.json.path }}",
"resource": "file",
"operation": "get",
"repository": {
"__rl": true,
"mode": "name",
"value": "n8n-backup"
},
"additionalParameters": {}
},
"credentials": {
"githubApi": {
"id": "3FYHiPFtycAFT8V0",
"name": "GitHub account"
}
},
"typeVersion": 1,
"alwaysOutputData": true
},
{
"id": "507c8514-6acf-4568-83cc-bb07f06e6a96",
"name": "Convert files to JSON",
"type": "n8n-nodes-base.extractFromFile",
"position": [
-140,
200
],
"parameters": {
"options": {},
"operation": "fromJson"
},
"typeVersion": 1
},
{
"id": "084e7306-4c7b-4a9b-8f3e-f844ab340f6a",
"name": "Restore n8n Credentials",
"type": "n8n-nodes-base.n8n",
"position": [
380,
200
],
"parameters": {
"data": "={{ JSON.stringify($json.data.data) }}",
"name": "={{ $json.data.name }}",
"resource": "credential",
"requestOptions": {},
"credentialTypeName": "={{ $json.data.type }}"
},
"credentials": {
"n8nApi": {
"id": "dzYjDgtEXtpRPKhe",
"name": "n8n account"
}
},
"typeVersion": 1
},
{
"id": "f8267df1-eb0a-491e-bed4-01480583a535",
"name": "Check for skipped Credentials",
"type": "n8n-nodes-base.if",
"position": [
100,
200
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "or",
"conditions": [
{
"id": "ad031296-4ac0-4087-bc35-7975a2cc25e6",
"operator": {
"type": "object",
"operation": "empty",
"singleValue": true
},
"leftValue": "={{ $json.data }}",
"rightValue": ""
},
{
"id": "ca912a57-6a4b-4b9a-be0e-37b69d3e4917",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.data.name }}",
"rightValue": "n8n account"
}
]
}
},
"typeVersion": 2.2
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "8a89a054-697f-4705-89a8-5d3288936206",
"connections": {
"Globals": {
"main": [
[
{
"node": "Get all files in given path",
"type": "main",
"index": 0
}
]
]
},
"Split the result": {
"main": [
[
{
"node": "Get file content from GitHub",
"type": "main",
"index": 0
}
]
]
},
"Convert files to JSON": {
"main": [
[
{
"node": "Check for skipped Credentials",
"type": "main",
"index": 0
}
]
]
},
"Get all files in given path": {
"main": [
[
{
"node": "Split the result",
"type": "main",
"index": 0
}
]
]
},
"Get file content from GitHub": {
"main": [
[
{
"node": "Convert files to JSON",
"type": "main",
"index": 0
}
]
]
},
"Check for skipped Credentials": {
"main": [
[],
[
{
"node": "Restore n8n Credentials",
"type": "main",
"index": 0
}
]
]
},
"When clicking ‘Test workflow’": {
"main": [
[
{
"node": "Globals",
"type": "main",
"index": 0
}
]
]
}
}
}Workflow n8n GitHub, gestion des identifiants, sécurité : pour qui est ce workflow ?
Ce workflow s'adresse principalement aux équipes de développement et aux administrateurs système qui gèrent des identifiants sur GitHub. Il est idéal pour les entreprises de taille moyenne à grande qui cherchent à automatiser la gestion de leurs accès tout en minimisant les risques de sécurité.
Workflow n8n GitHub, gestion des identifiants, sécurité : problème résolu
Ce workflow résout le problème de la gestion manuelle des identifiants, qui peut entraîner des erreurs et des pertes de temps. En automatisant le processus de restauration des identifiants à partir de GitHub, les utilisateurs peuvent éviter des interruptions de service et garantir que leurs accès sont toujours à jour. Cela réduit également le risque de compromission des données sensibles en assurant une gestion sécurisée des identifiants.
Workflow n8n GitHub, gestion des identifiants, sécurité : étapes du workflow
Étape 1 : le workflow est déclenché manuellement.
- Étape 1 : des notes autocollantes fournissent des informations tout au long du processus.
- Étape 2 : récupération des fichiers dans un chemin spécifique sur GitHub.
- Étape 3 : les résultats sont divisés pour un traitement plus facile.
- Étape 4 : extraction et conversion du contenu des fichiers en JSON.
- Étape 5 : restauration des identifiants dans n8n.
Workflow n8n GitHub, gestion des identifiants, sécurité : guide de personnalisation
Pour personnaliser ce workflow, vous pouvez modifier l'URL dans le nœud 'Get all files in given path' pour pointer vers le répertoire souhaité sur GitHub. Il est également possible d'ajuster les paramètres des nœuds de notes autocollantes pour fournir des informations spécifiques à votre équipe. Assurez-vous de configurer correctement les options d'authentification dans le nœud 'Get file content from GitHub' pour garantir un accès sécurisé. Enfin, vous pouvez ajouter d'autres nœuds pour intégrer ce workflow avec d'autres outils ou services selon vos besoins.