diff --git a/openpype/modules/slack/plugins/publish/collect_slack_family.py b/openpype/modules/slack/plugins/publish/collect_slack_family.py index 9ca5b9d718..fefc0c8f56 100644 --- a/openpype/modules/slack/plugins/publish/collect_slack_family.py +++ b/openpype/modules/slack/plugins/publish/collect_slack_family.py @@ -26,7 +26,7 @@ class CollectSlackFamilies(pyblish.api.InstancePlugin): "tasks": task_name, "hosts": instance.data["anatomyData"]["app"], } - self.log.debug("key_values {}".format(key_values)) + profile = filter_profiles(self.profiles, key_values, logger=self.log) @@ -43,8 +43,6 @@ class CollectSlackFamilies(pyblish.api.InstancePlugin): slack_token = (instance.context.data["project_settings"] ["slack"] - ["publish"] - ["CollectSlackFamilies"] ["token"]) instance.data["slack_token"] = slack_token diff --git a/openpype/modules/slack/plugins/publish/integrate_slack_api.py b/openpype/modules/slack/plugins/publish/integrate_slack_api.py index 0c7d3c5ebd..8611e1ebd1 100644 --- a/openpype/modules/slack/plugins/publish/integrate_slack_api.py +++ b/openpype/modules/slack/plugins/publish/integrate_slack_api.py @@ -34,20 +34,27 @@ class IntegrateSlackAPI(pyblish.api.InstancePlugin): def process(self, instance): message_templ = instance.data["slack_message"] - fill_pairs = set() - for key, value in instance.data["anatomyData"].items(): - if not isinstance(value, str): - continue - fill_pairs.add((key, value)) - - message = message_templ.format(**prepare_template_data(fill_pairs)) + fill_pairs = ( + ("project_name", instance.data["anatomyData"]["project"]["name"]), + ("project_code", instance.data["anatomyData"]["project"]["code"]), + ("asset", instance.data["anatomyData"]["asset"]), + ("subset", instance.data["anatomyData"]["subset"]), + ("task", instance.data["anatomyData"]["task"]), + ("username", instance.data["anatomyData"]["username"]), + ("app", instance.data["anatomyData"]["app"]), + ("family", instance.data["anatomyData"]["family"]), + ("version", str(instance.data["anatomyData"]["version"])), + ) + message = None + try: + message = message_templ.format( + **prepare_template_data(fill_pairs)) + except Exception: + self.log.warning( + "Some keys are missing in {}".format(message_templ), + exc_info=True) self.log.debug("message:: {}".format(message)) - if '{' in message: - self.log.warning( - "Missing values to fill message properly {}".format(message)) - - return published_path = self._get_thumbnail_path(instance) diff --git a/openpype/settings/defaults/project_settings/slack.json b/openpype/settings/defaults/project_settings/slack.json index 2be2c222ae..8453945a5e 100644 --- a/openpype/settings/defaults/project_settings/slack.json +++ b/openpype/settings/defaults/project_settings/slack.json @@ -1,9 +1,9 @@ { + "token": "", "publish": { "CollectSlackFamilies": { "enabled": true, "optional": true, - "token": "", "profiles": [ { "families": [], diff --git a/openpype/settings/entities/schemas/projects_schema/schema_project_slack.json b/openpype/settings/entities/schemas/projects_schema/schema_project_slack.json index 10ab86fa97..7479924d36 100644 --- a/openpype/settings/entities/schemas/projects_schema/schema_project_slack.json +++ b/openpype/settings/entities/schemas/projects_schema/schema_project_slack.json @@ -5,7 +5,11 @@ "collapsible": true, "is_file": true, "children": [ - + { + "type": "text", + "key": "token", + "label": "Auth Token" + }, { "type": "dict", "collapsible": true, @@ -32,11 +36,6 @@ "key": "optional", "label": "Optional" }, - { - "type": "text", - "key": "token", - "label": "Auth Token" - }, { "type": "list", "collapsible": true, diff --git a/website/docs/assets/slack_project.png b/website/docs/assets/slack_project.png index 0c608759f8..496013800f 100644 Binary files a/website/docs/assets/slack_project.png and b/website/docs/assets/slack_project.png differ