Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 67 additions & 0 deletions schema/ext.keboola.runner-sync-api.syncActionExecuted.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"message": {
"type": "string"
},
"params": {
"type": "object",
"properties": {
"componentId": {
"type": "string"
},
"action": {
"type": "string"
},
"mode": {
"type": "string",
"enum": ["run", "debug"]
},
"tag": {
"type": ["string", "null"]
},
"configData": {
"type": "object"
}
},
"required": ["componentId", "action", "mode"]
},
"results": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"success",
"error",
"terminated",
"out-of-memory",
"start-timeout",
"run-timeout",
"image-not-found"
]
},
"exitCode": {
"type": ["integer", "null"]
},
Comment on lines +45 to +47

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I recommend you to check some of the events that are already generated in platform how they look like or so. I am not sure whether exit code it needed

"output": {
"type": ["string", "null"]
},
"durationMs": {
"type": "integer"
}
},
"required": ["status", "durationMs"]
},
"performance": {
"type": "object",
"properties": {
"duration": {
"type": "integer"
}
}
}
},
"required": ["message", "params", "results"]
}
48 changes: 48 additions & 0 deletions tests/events/ext.keboola.runner-sync-api.syncActionExecuted.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{
"id": 9900000001,
"event": "ext.keboola.runner-sync-api.syncActionExecuted",
"component": "keboola.runner-sync-api",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i would expect that this is component ID of the component where sync action was executed on

"message": "Sync action \"testConnection\" on \"keboola.ex-db-mysql\" finished: success",
"description": "",
"type": "info",
"runId": "run-abc123",
"created": "2026-05-20T10:00:00+0200",
"configurationId": "syncActionExecuted",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ID of configuration on which it was triggered. I am not sure whether we can trigger sync action without configurationID or component ID except running locally

"objectId": "",
"objectName": "",
"objectType": "",
"context": {
"remoteAddr": "10.0.0.1",
"httpReferer": null,
"httpUserAgent": "SyncApiService",
"apiVersion": "v2"
},
"params": {
"componentId": "keboola.ex-db-mysql",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not needed

"action": "testConnection",
"mode": "run",
"tag": null,
"configData": {
"parameters": {
"host": "db.example.com",
"#password": "KBC::Encrypted==abc123..."
}
}
Comment on lines +25 to +30

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not recommend pushing configuration data into event itself. It's auditory, either create more types of events or push there only info about accessing with some query/something from LLM. But it may not be viable because it can contain also unencrypted secrets or so

},
"results": {
"status": "success",
"exitCode": 0,
"output": "{\"status\": \"ok\"}",
"durationMs": 1523
},
"performance": {
"duration": 2
},
"token": {
"id": 12345,
"name": "my-token@keboola.com"
},
"idBranch": 67890,
"uri": "https://connection.keboola.com/v2/storage/events/9900000001",
"attachments": []
}
Loading