170 lines
No EOL
4.7 KiB
JSON
170 lines
No EOL
4.7 KiB
JSON
{
|
|
"name": "Genome: ingest MANUALE (scratch)",
|
|
"nodes": [
|
|
{
|
|
"parameters": {},
|
|
"type": "n8n-nodes-base.manualTrigger",
|
|
"typeVersion": 1,
|
|
"position": [
|
|
0,
|
|
0
|
|
],
|
|
"id": "2101e704-6275-419d-9963-29a142e5811c",
|
|
"name": "Esegui manualmente"
|
|
},
|
|
{
|
|
"parameters": {
|
|
"authentication": "privateKey",
|
|
"command": "ssh vm101 'pi ingest genome-test raw/articles/il-grano-saraceno.md'"
|
|
},
|
|
"type": "n8n-nodes-base.ssh",
|
|
"typeVersion": 1,
|
|
"position": [
|
|
224,
|
|
0
|
|
],
|
|
"id": "8ade2def-2d53-4860-88a5-2ca734c6e54a",
|
|
"name": "SSH: pi ingest (manuale)",
|
|
"credentials": {
|
|
"sshPrivateKey": {
|
|
"id": "GJQjKzte7Hjdfz89",
|
|
"name": "n8n container -> n8n-runner@nexus"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"parameters": {
|
|
"mode": "runOnceForEachItem",
|
|
"jsCode": "// ultima riga JSON di run-ingest.sh (ha 'run_id=' davanti)\nconst out = ($json.stdout || '').trim();\nconst line = out.split('\\n').filter(l => l.trim().startsWith('{')).pop();\nif (!line) return { status: 'error', reason: 'nessuna riga JSON run-ingest', raw: out };\ntry { return JSON.parse(line); } catch (e) { return { status: 'error', reason: 'JSON non parsabile', raw: line }; }"
|
|
},
|
|
"type": "n8n-nodes-base.code",
|
|
"typeVersion": 2,
|
|
"position": [
|
|
448,
|
|
0
|
|
],
|
|
"id": "d84cdeaf-612a-454c-8b4d-31824ae6d71e",
|
|
"name": "Parse ingest"
|
|
},
|
|
{
|
|
"parameters": {
|
|
"mode": "runOnceForEachItem",
|
|
"jsCode": "const d=$json;let n;\nif (d.status==='ok'){\n n={title:`Ingest ${d.slug}: PR aperta`,priority:'default',tags:'inbox_tray',\n body:`\\u2705 ${d.slug}: PR aperta (lint ${d.lint_clean?'clean':'KO'}${d.conflict?', CONFLITTO':''})\\n\\n\\ud83d\\udd17 ${d.pr_url}`};\n} else if (d.status==='pr_failed'){\n n={title:`Ingest ${d.slug}: PR FALLITA`,priority:'high',tags:'warning',\n body:`\\u26a0\\ufe0f ${d.slug}: semantic/lint ok ma PR non aperta.\\n\\n${(d.detail||'').split('\\n')[0]}`};\n} else {\n n={title:'Ingest: ERRORE',priority:'high',tags:'rotating_light',\n body:`\\u274c ${d.reason||'errore'}\\n\\n${(d.raw||'').slice(0,300)}`};\n}\nreturn n;"
|
|
},
|
|
"type": "n8n-nodes-base.code",
|
|
"typeVersion": 2,
|
|
"position": [
|
|
672,
|
|
0
|
|
],
|
|
"id": "eadd9275-b38c-416b-b15e-0999f70a05fb",
|
|
"name": "Build ntfy"
|
|
},
|
|
{
|
|
"parameters": {
|
|
"method": "POST",
|
|
"url": "http://ntfy/homelab-genome",
|
|
"authentication": "genericCredentialType",
|
|
"genericAuthType": "httpBearerAuth",
|
|
"sendHeaders": true,
|
|
"headerParameters": {
|
|
"parameters": [
|
|
{
|
|
"name": "Title",
|
|
"value": "={{ $json.title }}"
|
|
},
|
|
{
|
|
"name": "Priority",
|
|
"value": "={{ $json.priority }}"
|
|
},
|
|
{
|
|
"name": "Tags",
|
|
"value": "={{ $json.tags }}"
|
|
}
|
|
]
|
|
},
|
|
"sendBody": true,
|
|
"contentType": "raw",
|
|
"rawContentType": "Raw / Text",
|
|
"body": "={{ $json.body }}",
|
|
"options": {}
|
|
},
|
|
"type": "n8n-nodes-base.httpRequest",
|
|
"typeVersion": 4.4,
|
|
"position": [
|
|
880,
|
|
0
|
|
],
|
|
"id": "63ab577b-893a-4b3d-8f13-b377be778099",
|
|
"name": "ntfy: send notification",
|
|
"credentials": {
|
|
"httpHeaderAuth": {
|
|
"id": "TBPXSWOF63k9mvm8",
|
|
"name": "ntfy-token"
|
|
},
|
|
"httpBearerAuth": {
|
|
"id": "nCv4CUN7Ef086Ewj",
|
|
"name": "Bearer Auth account"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"pinData": {},
|
|
"connections": {
|
|
"Esegui manualmente": {
|
|
"main": [
|
|
[
|
|
{
|
|
"node": "SSH: pi ingest (manuale)",
|
|
"type": "main",
|
|
"index": 0
|
|
}
|
|
]
|
|
]
|
|
},
|
|
"SSH: pi ingest (manuale)": {
|
|
"main": [
|
|
[
|
|
{
|
|
"node": "Parse ingest",
|
|
"type": "main",
|
|
"index": 0
|
|
}
|
|
]
|
|
]
|
|
},
|
|
"Parse ingest": {
|
|
"main": [
|
|
[
|
|
{
|
|
"node": "Build ntfy",
|
|
"type": "main",
|
|
"index": 0
|
|
}
|
|
]
|
|
]
|
|
},
|
|
"Build ntfy": {
|
|
"main": [
|
|
[
|
|
{
|
|
"node": "ntfy: send notification",
|
|
"type": "main",
|
|
"index": 0
|
|
}
|
|
]
|
|
]
|
|
}
|
|
},
|
|
"active": false,
|
|
"settings": {
|
|
"executionOrder": "v1",
|
|
"binaryMode": "separate"
|
|
},
|
|
"versionId": "df06ce3b-1ea8-43be-91ff-02c77972cfe2",
|
|
"meta": {
|
|
"instanceId": "96b2f0ec76a4400bbd481c617b24b3b87024cc7a913efacccaf9fc85722e7417"
|
|
},
|
|
"id": "RNoSaRLYG9vcMn6M",
|
|
"tags": []
|
|
} |