-
Notifications
You must be signed in to change notification settings - Fork 1
feat: Add ext.keboola.runner-sync-api.syncActionExecuted event schema #32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| 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"] | ||
| }, | ||
| "output": { | ||
| "type": ["string", "null"] | ||
| }, | ||
| "durationMs": { | ||
| "type": "integer" | ||
| } | ||
| }, | ||
| "required": ["status", "durationMs"] | ||
| }, | ||
| "performance": { | ||
| "type": "object", | ||
| "properties": { | ||
| "duration": { | ||
| "type": "integer" | ||
| } | ||
| } | ||
| } | ||
| }, | ||
| "required": ["message", "params", "results"] | ||
| } | ||
| 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", | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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", | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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", | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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": [] | ||
| } | ||
There was a problem hiding this comment.
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