128 lines
3.1 KiB
JSON
128 lines
3.1 KiB
JSON
{
|
|
"meta": {
|
|
"instanceId": "openhands-sdk-n8n"
|
|
},
|
|
"nodes": [
|
|
{
|
|
"parameters": {
|
|
"httpMethod": "POST",
|
|
"path": "openhands-sdk",
|
|
"responseMode": "responseNode"
|
|
},
|
|
"id": "webhook-trigger",
|
|
"name": "Webhook Trigger",
|
|
"type": "n8n-nodes-base.webhook",
|
|
"typeVersion": 2,
|
|
"position": [240, 300],
|
|
"webhookId": "openhands-sdk-webhook"
|
|
},
|
|
{
|
|
"parameters": {
|
|
"command": "cd /tmp/software-agent-sdk && source .venv/bin/activate && source /home/bam/openhands/.env && python /home/bam/openhands-sdk-wrapper.py \"Build and test project {{ $json.repository.full_name }} - Commit: {{ $json.commits[0].message }}\"",
|
|
"sessionId": "sdk-session"
|
|
},
|
|
"id": "sdk-execute",
|
|
"name": "Execute OpenHands SDK",
|
|
"type": "n8n-nodes-base.ssh",
|
|
"typeVersion": 2,
|
|
"position": [460, 300],
|
|
"credentials": {
|
|
"sshPassword": {
|
|
"id": "ai-dev-localhost",
|
|
"name": "ai-dev-localhost"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"parameters": {
|
|
"command": "ls -la /home/bam/*.txt /home/bam/*.py /home/bam/*.js /home/bam/*.json 2>/dev/null | tail -20",
|
|
"sessionId": "sdk-session"
|
|
},
|
|
"id": "verify-files",
|
|
"name": "Verify Results",
|
|
"type": "n8n-nodes-base.ssh",
|
|
"typeVersion": 2,
|
|
"position": [680, 300],
|
|
"credentials": {
|
|
"sshPassword": {
|
|
"id": "ai-dev-localhost",
|
|
"name": "ai-dev-localhost"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"parameters": {
|
|
"respondWith": "json",
|
|
"responseBody": {
|
|
"status": "success",
|
|
"message": "OpenHands SDK task completed successfully",
|
|
"timestamp": "{{ $now }}",
|
|
"repository": "{{ $json.repository.full_name }}",
|
|
"commit": "{{ $json.commits[0].message }}",
|
|
"workflow": "openhands-sdk",
|
|
"method": "SDK (Docker-free)",
|
|
"note": "No Docker containers used - pure Python SDK execution"
|
|
},
|
|
"options": {}
|
|
},
|
|
"id": "webhook-response",
|
|
"name": "Webhook Response",
|
|
"type": "n8n-nodes-base.respondToWebhook",
|
|
"typeVersion": 1,
|
|
"position": [900, 300]
|
|
}
|
|
],
|
|
"connections": {
|
|
"Webhook Trigger": {
|
|
"main": [
|
|
[
|
|
{
|
|
"node": "Execute OpenHands SDK",
|
|
"type": "main",
|
|
"index": 0
|
|
}
|
|
]
|
|
]
|
|
},
|
|
"Execute OpenHands SDK": {
|
|
"main": [
|
|
[
|
|
{
|
|
"node": "Verify Results",
|
|
"type": "main",
|
|
"index": 0
|
|
}
|
|
]
|
|
]
|
|
},
|
|
"Verify Results": {
|
|
"main": [
|
|
[
|
|
{
|
|
"node": "Webhook Response",
|
|
"type": "main",
|
|
"index": 0
|
|
}
|
|
]
|
|
]
|
|
}
|
|
},
|
|
"pinData": {},
|
|
"settings": {
|
|
"executionOrder": "v1"
|
|
},
|
|
"staticData": null,
|
|
"tags": [
|
|
"openhands",
|
|
"sdk",
|
|
"docker-free",
|
|
"python"
|
|
],
|
|
"triggerCount": 1,
|
|
"updatedAt": "2025-11-30T23:50:00.000Z",
|
|
"versionId": "1",
|
|
"active": false,
|
|
"meta": {
|
|
"templateCredsSetupCompleted": false
|
|
}
|
|
} |