Automatisation n8n : recherche de paramètres avec code
- Ce workflow n8n a pour objectif de faciliter la recherche de paramètres affectés par des expressions spécifiques dans un environnement de développement. Il est particulièrement utile pour les développeurs et les équipes techniques qui souhaitent optimiser leur code et s'assurer que les modifications apportées n'affectent pas d'autres parties de leur projet. En utilisant ce workflow, les utilisateurs peuvent rapidement identifier les paramètres concernés et ainsi gagner du temps dans leurs processus de développement.
- Le déroulé commence par un déclencheur manuel, où l'utilisateur clique sur 'Exécuter le workflow'. Ensuite, le workflow utilise un nœud n8n pour appliquer des filtres spécifiques, permettant de cibler les paramètres à analyser. Le nœud suivant, intitulé 'Find params with affected expressions', exécute un code JavaScript personnalisé qui permet de déterminer les paramètres affectés par les expressions. Enfin, un nœud de note autocollante est utilisé pour afficher les résultats de manière claire et concise.
- Cette automatisation n8n offre une valeur ajoutée significative en réduisant les risques d'erreurs lors des modifications de code et en améliorant l'efficacité des équipes de développement. En intégrant ce workflow dans leur processus, les entreprises peuvent s'assurer d'une meilleure qualité de code et d'une gestion optimisée de leurs projets.
Workflow n8n développement, code : vue d'ensemble
Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.
Workflow n8n développement, code : détail des nœuds
Inscris-toi pour voir l'intégralité du workflow
Inscription gratuite
S'inscrire gratuitementBesoin d'aide ?{
"id": "zlHbtHIcCZ9enKwg",
"meta": {
"instanceId": "406f1bca875c48c0fa12bf65a32e67f001617a6df6d6fd6dd72bff9d20014812"
},
"name": "v1 helper - Find params with affected expressions",
"tags": [],
"nodes": [
{
"id": "b3dd44ca-960f-4689-9545-30a05dc0441e",
"name": "When clicking \"Execute Workflow\"",
"type": "n8n-nodes-base.manualTrigger",
"position": [
580,
320
],
"parameters": {},
"typeVersion": 1
},
{
"id": "96db239d-05b6-4e1d-b101-e66c2a9708f6",
"name": "n8n",
"type": "n8n-nodes-base.n8n",
"position": [
800,
320
],
"parameters": {
"filters": {
"activeWorkflows": true
}
},
"credentials": {
"n8nApi": {
"id": "hcJ2iZYYgs54eCaT",
"name": "n8n account"
}
},
"typeVersion": 1
},
{
"id": "b2286f6b-ba37-433c-b22a-95032bc25b6e",
"name": "Find params with affected expressions",
"type": "n8n-nodes-base.code",
"position": [
1040,
320
],
"parameters": {
"jsCode": "const AFFECTED_EXTENSIONS = ['beginningOf', 'endOfMonth', 'minus', 'plus'];\n\nconst isExpression = (value) => typeof value === 'string' && value.startsWith('={{');\n\nconst containsAny = (str, substrings) => {\n for (const substring of substrings) {\n if (str.includes(substring)) return true;\n }\n \n return false;\n}\n\nconst isAffected = (value) => isExpression(value) && containsAny(value, AFFECTED_EXTENSIONS);\n\nfunction findParamsByTest(target, test) {\n const parameterNames = [];\n\n function search(obj) {\n if (typeof obj === 'object') {\n for (const key in obj) {\n const value = obj[key];\n\n if (test(value)) {\n parameterNames.push(key);\n } else if (typeof value === 'object') {\n search(value);\n }\n }\n }\n }\n\n search(target);\n\n return parameterNames;\n}\n\nreturn $input.all().reduce((allLocations, { json: workflow }) => {\n const perWorkflow = workflow.nodes.reduce((allLocationsPerWorkflow, node) => {\n const perNode = findParamsByTest(node.parameters, isAffected).map(\n (parameterName) => {\n\t\treturn {\n\t\t\tworkflowName: workflow.name,\n\t\t\tnodeName: node.name,\n\t\t\tparameterName,\n };\n },\n );\n\n return [...allLocationsPerWorkflow, ...perNode];\n }, []);\n\n return [...allLocations, ...perWorkflow];\n}, []);"
},
"typeVersion": 1
},
{
"id": "ee189fa0-cf89-4b8d-8351-ed9598f18502",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
600,
92
],
"parameters": {
"width": 548.6551724137931,
"height": 191.08045977011497,
"content": "## v1 Helper\n\nℹ️ This workflow is to be run **after upgrading to n8n v1**.\n\nThis workflow returns all locations where a node in an active workflow contains a parameter using an **expression extension affected by [v1 changes](https://github.com/n8n-io/n8n/pull/6435)**. For every location, please check that the workflow still behaves as intended."
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {},
"versionId": "da694734-30ae-46b1-8e29-877c95b670ab",
"connections": {
"n8n": {
"main": [
[
{
"node": "Find params with affected expressions",
"type": "main",
"index": 0
}
]
]
},
"When clicking \"Execute Workflow\"": {
"main": [
[
{
"node": "n8n",
"type": "main",
"index": 0
}
]
]
}
}
}Workflow n8n développement, code : pour qui est ce workflow ?
Ce workflow s'adresse principalement aux développeurs, aux équipes techniques et aux responsables de projets qui travaillent avec des environnements de développement. Il est idéal pour les entreprises de taille moyenne à grande qui cherchent à améliorer leur efficacité opérationnelle et à réduire les erreurs de code.
Workflow n8n développement, code : problème résolu
Ce workflow résout le problème de la difficulté à identifier les paramètres affectés par des modifications de code, ce qui peut entraîner des erreurs et des pertes de temps considérables. Grâce à cette automatisation, les utilisateurs peuvent rapidement localiser les paramètres concernés, minimisant ainsi les risques d'erreurs et améliorant la qualité globale du code. En fin de compte, cela permet aux équipes de développement de travailler plus efficacement et de livrer des projets de meilleure qualité.
Workflow n8n développement, code : étapes du workflow
Étape 1 : L'utilisateur déclenche le workflow manuellement en cliquant sur 'Exécuter le workflow'.
- Étape 1 : Le nœud n8n applique des filtres pour cibler les paramètres spécifiques à analyser.
- Étape 2 : Le nœud 'Find params with affected expressions' exécute un code JavaScript pour identifier les paramètres affectés.
- Étape 3 : Les résultats sont affichés dans une note autocollante pour une consultation facile.
Workflow n8n développement, code : guide de personnalisation
Pour personnaliser ce workflow, les utilisateurs peuvent modifier le code JavaScript dans le nœud 'Find params with affected expressions' afin d'adapter les critères de recherche selon leurs besoins spécifiques. Il est également possible de changer le contenu de la note autocollante pour inclure des informations supplémentaires ou des instructions. Les utilisateurs peuvent intégrer d'autres services n8n si nécessaire, en ajoutant des nœuds supplémentaires pour enrichir le flux de travail. Enfin, il est recommandé de tester régulièrement le workflow pour s'assurer de son bon fonctionnement et d'apporter des ajustements en fonction des retours d'expérience.