From 9d055e9adbded495707bded36f86d3ca625f2040 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Tue, 8 Jun 2021 11:44:39 +0200 Subject: [PATCH] client/#75 - Added settings and defaults for Slack integration --- .../defaults/project_settings/slack.json | 18 ++++ .../defaults/system_settings/modules.json | 3 + .../schemas/projects_schema/schema_main.json | 4 + .../projects_schema/schema_project_slack.json | 89 +++++++++++++++++++ .../schemas/system_schema/schema_modules.json | 21 ++++- 5 files changed, 133 insertions(+), 2 deletions(-) create mode 100644 openpype/settings/defaults/project_settings/slack.json create mode 100644 openpype/settings/entities/schemas/projects_schema/schema_project_slack.json diff --git a/openpype/settings/defaults/project_settings/slack.json b/openpype/settings/defaults/project_settings/slack.json new file mode 100644 index 0000000000..2be2c222ae --- /dev/null +++ b/openpype/settings/defaults/project_settings/slack.json @@ -0,0 +1,18 @@ +{ + "publish": { + "CollectSlackFamilies": { + "enabled": true, + "optional": true, + "token": "", + "profiles": [ + { + "families": [], + "hosts": [], + "tasks": [], + "channel": [], + "message": "" + } + ] + } + } +} \ No newline at end of file diff --git a/openpype/settings/defaults/system_settings/modules.json b/openpype/settings/defaults/system_settings/modules.json index 31da9e9e7b..f759546dca 100644 --- a/openpype/settings/defaults/system_settings/modules.json +++ b/openpype/settings/defaults/system_settings/modules.json @@ -167,5 +167,8 @@ }, "project_manager": { "enabled": true + }, + "slack": { + "enabled": true } } \ No newline at end of file diff --git a/openpype/settings/entities/schemas/projects_schema/schema_main.json b/openpype/settings/entities/schemas/projects_schema/schema_main.json index 64c5a7f366..bee9712878 100644 --- a/openpype/settings/entities/schemas/projects_schema/schema_main.json +++ b/openpype/settings/entities/schemas/projects_schema/schema_main.json @@ -66,6 +66,10 @@ "type": "schema", "name": "schema_project_deadline" }, + { + "type": "schema", + "name": "schema_project_slack" + }, { "type": "schema", "name": "schema_project_maya" diff --git a/openpype/settings/entities/schemas/projects_schema/schema_project_slack.json b/openpype/settings/entities/schemas/projects_schema/schema_project_slack.json new file mode 100644 index 0000000000..10ab86fa97 --- /dev/null +++ b/openpype/settings/entities/schemas/projects_schema/schema_project_slack.json @@ -0,0 +1,89 @@ +{ + "type": "dict", + "key": "slack", + "label": "Slack", + "collapsible": true, + "is_file": true, + "children": [ + + { + "type": "dict", + "collapsible": true, + "key": "publish", + "label": "Publish plugins", + "children": [ + { + "type": "dict", + "key": "CollectSlackFamilies", + "label": "Notification to Slack", + "use_label_wrap": true, + "children": [ + { + "type": "label", + "label": "" + }, + { + "type": "boolean", + "key": "enabled", + "label": "Enabled" + }, + { + "type": "boolean", + "key": "optional", + "label": "Optional" + }, + { + "type": "text", + "key": "token", + "label": "Auth Token" + }, + { + "type": "list", + "collapsible": true, + "key": "profiles", + "label": "Profiles", + "object_type": { + "type": "dict", + "children": [ + { + "key": "families", + "label": "Families", + "type": "list", + "object_type": "text" + }, + { + "key": "tasks", + "label": "Task names", + "type": "list", + "object_type": "text" + }, + { + "key": "hosts", + "label": "Host names", + "type": "list", + "object_type": "text" + }, + { + "type": "separator" + }, + { + "type": "list", + "object_type": "text", + "key": "channel", + "label": "Channel" + }, + { + "type": "text", + "multiline": true, + "key": "message", + "label": "Message" + } + ] + } + } + ] + } + ] + } + ] +} diff --git a/openpype/settings/entities/schemas/system_schema/schema_modules.json b/openpype/settings/entities/schemas/system_schema/schema_modules.json index d6527f368d..7d734ff4fd 100644 --- a/openpype/settings/entities/schemas/system_schema/schema_modules.json +++ b/openpype/settings/entities/schemas/system_schema/schema_modules.json @@ -82,7 +82,8 @@ "label": "Workspace name" } ] - }, { + }, + { "type": "dict", "key": "sync_server", "label": "Site Sync", @@ -114,7 +115,8 @@ } } ] - },{ + }, + { "type": "dict", "key": "deadline", "label": "Deadline", @@ -206,6 +208,21 @@ "label": "Enabled" } ] + }, + { + "type": "dict", + "key": "slack", + "label": "Slack Notifications", + "collapsible": true, + "require_restart": true, + "checkbox_key": "enabled", + "children": [ + { + "type": "boolean", + "key": "enabled", + "label": "Enabled" + } + ] } ] }