Optimisation de la gestion des Pull Requests avec Pipedrive
Ce workflow permet d'automatiser le suivi des Pull Requests GitHub en les intégrant directement dans Pipedrive. Lorsqu'...
Ce workflow n8n vous permet de restaurer automatiquement vos identifiants d'instance à partir de sauvegardes stockées sur GitHub. En intégrant de manière transparente GitHub et n8n, il garantit que vos informations d'identification sont toujours à jour et récupérables en cas de besoin. Cela réduit le risque de perte de données critiques et assure la continuité des opérations. Ce processus est idéal pour les équipes techniques cherchant à automatiser la gestion des identifiants tout en maintenant une sécurité renforcée.
Ce workflow n8n vous permet de restaurer automatiquement vos identifiants d'instance à partir de sauvegardes stockées sur GitHub. En intégrant de manière transparente GitHub et n8n, il garantit que vos informations d'identification sont toujours à jour et récupérables en cas de besoin. Cela réduit le risque de perte de données critiques et assure la continuité des opérations. Ce processus est idéal pour les équipes techniques cherchant à automatiser la gestion des identifiants tout en maintenant une sécurité renforcée.
Node | Type | Description |
---|---|---|
When clicking ‘Test workflow’ | manualTrigger | Traitement des données |
Sticky Note1 | stickyNote | Traitement des données |
Globals | set | Traitement des données |
Sticky Note4 | stickyNote | Traitement des données |
Sticky Note | stickyNote | Traitement des données |
Get all files in given path | httpRequest | Requête HTTP vers une API externe |
Split the result | splitOut | Division des données en plusieurs branches |
Get file content from GitHub | github | Traitement des données |
Convert files to JSON | extractFromFile | Traitement des données |
Restore n8n Credentials | n8n | Traitement des données |
Check for skipped Credentials | if | Condition logique pour router le flux |
{
"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
}
]
]
}
}
}
Ce workflow permet d'automatiser le suivi des Pull Requests GitHub en les intégrant directement dans Pipedrive. Lorsqu'...
Ce workflow puissant automatise la synchronisation des événements programmés sur Discord avec Google Calendar, garant...
Ce workflow automatise le processus de récupération des commandes de Squarespace et leur enregistrement dans Google Sh...