Extreact & refactor automation scripts & triggets

Automation (scripts and triggers) is now a standalone package and can be used
in other services.
This commit is contained in:
Denis Arh
2019-08-23 13:49:36 +02:00
parent 82e2c58d0a
commit 38fe06998c
42 changed files with 3875 additions and 1174 deletions
+213
View File
@@ -0,0 +1,213 @@
{
"Title": "Automation scripts",
"Interface": "Automation_script",
"Struct": null,
"Parameters": {
"path": [
{
"name": "namespaceID",
"required": true,
"title": "Namespace ID",
"type": "uint64"
}
]
},
"Protocol": "",
"Authentication": [
"Client ID",
"Session ID"
],
"Path": "/namespace/{namespaceID}/automation/script",
"APIs": [
{
"Name": "list",
"Method": "GET",
"Title": "List/read automation script",
"Path": "/",
"Parameters": {
"get": [
{
"name": "query",
"required": false,
"title": "Search query to match against automation script",
"type": "string"
},
{
"name": "resource",
"required": false,
"title": "Limit by resource (via trigger)",
"type": "string"
},
{
"name": "incDeleted",
"required": false,
"title": "Include deleted scripts",
"type": "bool"
},
{
"name": "page",
"required": false,
"title": "Page number (0 based)",
"type": "uint"
},
{
"name": "perPage",
"required": false,
"title": "Returned items per page (default 50)",
"type": "uint"
}
]
}
},
{
"Name": "create",
"Method": "POST",
"Title": "Add new automation script ",
"Path": "/",
"Parameters": {
"post": [
{
"name": "name",
"required": true,
"title": "automation name",
"type": "string"
},
{
"name": "sourceRef",
"title": "Source URL",
"type": "string"
},
{
"name": "source",
"title": "Source code",
"type": "string"
},
{
"name": "runAs",
"title": "Run as specific user",
"type": "uint64"
},
{
"name": "runInUA",
"title": "Run script in user-agent (browser)",
"type": "bool"
},
{
"name": "timeout",
"title": "Script timeout (in milliseconds)",
"type": "uint"
},
{
"name": "critical",
"title": "Is it critical to run this script successfully",
"type": "bool"
},
{
"name": "async",
"title": "Will this script be ran asynchronously",
"type": "bool"
},
{
"name": "enabled",
"type": "bool"
}
]
}
},
{
"Name": "read",
"Method": "GET",
"Title": "Read automation script by ID",
"Path": "/{scriptID}",
"Parameters": {
"path": [
{
"name": "scriptID",
"required": true,
"title": "automation script ID",
"type": "uint64"
}
]
}
},
{
"Name": "update",
"Method": "POST",
"Title": "Update automation script",
"Path": "/{scriptID}",
"Parameters": {
"path": [
{
"name": "scriptID",
"required": true,
"title": "Automation script ID",
"type": "uint64"
}
],
"post": [
{
"name": "name",
"required": true,
"title": "Script name",
"type": "string"
},
{
"name": "sourceRef",
"title": "Source URL",
"type": "string"
},
{
"name": "source",
"title": "Source code",
"type": "string"
},
{
"name": "runAs",
"title": "Run script as specific user",
"type": "uint64"
},
{
"name": "runInUA",
"title": "Run script in user-agent (browser)",
"type": "bool"
},
{
"name": "timeout",
"title": "Run script in user-agent (browser)",
"type": "uint"
},
{
"name": "critical",
"title": "Is it critical to run this script successfully",
"type": "bool"
},
{
"name": "async",
"title": "Will this script be ran asynchronously",
"type": "bool"
},
{
"name": "enabled",
"type": "bool"
}
]
}
},
{
"Name": "delete",
"Method": "DELETE",
"Title": "Delete script",
"Path": "/{scriptID}",
"Parameters": {
"path": [
{
"name": "scriptID",
"required": true,
"title": "automation ID",
"type": "uint64"
}
]
}
}
]
}
@@ -1,14 +1,7 @@
{
"Title": "Triggers",
"Description": "Compose Triggers",
"Interface": "Trigger",
"Struct": [
{
"imports": [
"time"
]
}
],
"Title": "Automation script triggers",
"Interface": "Automation_trigger",
"Struct": null,
"Parameters": {
"path": [
{
@@ -16,32 +9,47 @@
"required": true,
"title": "Namespace ID",
"type": "uint64"
},
{
"name": "scriptID",
"required": true,
"title": "Script ID",
"type": "uint64"
}
]
},
"Protocol": "",
"Authentication": [],
"Path": "/namespace/{namespaceID}/trigger",
"Authentication": [
"Client ID",
"Session ID"
],
"Path": "/namespace/{namespaceID}/automation/script/{scriptID}/trigger",
"APIs": [
{
"Name": "list",
"Method": "GET",
"Title": "List available triggers",
"Title": "List/read automation script triggers",
"Path": "/",
"Parameters": {
"get": [
{
"name": "moduleID",
"name": "resource",
"required": false,
"title": "Filter triggers by module",
"type": "uint64"
"title": "Only triggers of a specific resource",
"type": "string"
},
{
"name": "query",
"name": "event",
"required": false,
"title": "Search query",
"title": "Only triggers of a specific event",
"type": "string"
},
{
"name": "incDeleted",
"required": false,
"title": "Include deleted scripts",
"type": "bool"
},
{
"name": "page",
"required": false,
@@ -60,45 +68,34 @@
{
"Name": "create",
"Method": "POST",
"Title": "Create trigger",
"Title": "Add new automation script trigger",
"Path": "/",
"Parameters": {
"post": [
{
"name": "moduleID",
"required": false,
"title": "Module ID",
"type": "uint64"
},
{
"name": "name",
"required": true,
"title": "Name",
"title": "automation name",
"type": "string"
},
{
"name": "actions",
"required": false,
"title": "Actions that trigger this trigger",
"type": "[]string"
"name": "resource",
"title": "Resource",
"type": "string"
},
{
"name": "event",
"title": "Event",
"type": "string"
},
{
"name": "condition",
"title": "Event",
"type": "string"
},
{
"name": "enabled",
"required": false,
"title": "Enabled",
"type": "bool"
},
{
"name": "source",
"required": false,
"title": "Trigger source code",
"type": "string"
},
{
"name": "updatedAt",
"required": false,
"title": "Last update (or creation) date",
"type": "*time.Time"
}
]
}
@@ -106,14 +103,14 @@
{
"Name": "read",
"Method": "GET",
"Title": "Get trigger details",
"Title": "Read automation script trigger by ID",
"Path": "/{triggerID}",
"Parameters": {
"path": [
{
"name": "triggerID",
"required": true,
"title": "Trigger ID",
"title": "Automation script trigger ID",
"type": "uint64"
}
]
@@ -122,62 +119,57 @@
{
"Name": "update",
"Method": "POST",
"Title": "Update trigger",
"Title": "Update automation script trigger",
"Path": "/{triggerID}",
"Parameters": {
"path": [
{
"name": "triggerID",
"required": true,
"title": "Trigger ID",
"title": "Automation script trigger ID",
"type": "uint64"
}
],
"post": [
{
"name": "moduleID",
"required": false,
"title": "Module ID",
"type": "uint64"
},
{
"name": "name",
"required": true,
"title": "Name",
"title": "automation name",
"type": "string"
},
{
"name": "actions",
"required": false,
"title": "Actions that trigger this trigger",
"type": "[]string"
"name": "resource",
"title": "Resource",
"type": "string"
},
{
"name": "event",
"title": "Event",
"type": "string"
},
{
"name": "condition",
"title": "Event",
"type": "string"
},
{
"name": "enabled",
"required": false,
"title": "Enabled",
"type": "bool"
},
{
"name": "source",
"required": false,
"title": "Trigger source code",
"type": "string"
}
]
}
},
{
"Name": "delete",
"Method": "Delete",
"Title": "Delete trigger",
"Method": "DELETE",
"Title": "Delete script",
"Path": "/{triggerID}",
"Parameters": {
"path": [
{
"name": "triggerID",
"required": true,
"title": "Trigger ID",
"title": "automation script trigger ID",
"type": "uint64"
}
]
+22
View File
@@ -199,6 +199,28 @@
]
}
},
{
"Name": "runScript",
"Method": "POST",
"Title": "Trigger a specific script on record",
"Path": "/run-script",
"Parameters": {
"post": [
{
"name": "recordID",
"required": false,
"title": "Record ID",
"type": "uint64"
},
{
"name": "scriptID",
"required": true,
"title": "Script ID",
"type": "uint64"
}
]
}
},
{
"Name": "upload",
"Method": "POST",