From 68be113f820005da6e6351e8f651e40e0a8895d4 Mon Sep 17 00:00:00 2001 From: Arthur Lampin Date: Wed, 1 Apr 2026 14:38:14 +0200 Subject: [PATCH 1/5] Don't use version number as revision number --- client/ayon_kitsu/plugins/publish/integrate_kitsu_review.py | 1 - 1 file changed, 1 deletion(-) diff --git a/client/ayon_kitsu/plugins/publish/integrate_kitsu_review.py b/client/ayon_kitsu/plugins/publish/integrate_kitsu_review.py index e82d8788..a4b39d7e 100644 --- a/client/ayon_kitsu/plugins/publish/integrate_kitsu_review.py +++ b/client/ayon_kitsu/plugins/publish/integrate_kitsu_review.py @@ -45,6 +45,5 @@ def process(self, instance): comment=comment_id, preview_file_path=review_path, normalize_movie=True, - revision=instance.data["version"], ) self.log.info("Review upload on comment") From 355e9e108df1d22628f9f4bbac2320731301621a Mon Sep 17 00:00:00 2001 From: Arthur Lampin Date: Wed, 8 Apr 2026 10:01:01 +0200 Subject: [PATCH 2/5] Adding server settings --- server/settings/publish_plugins.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/server/settings/publish_plugins.py b/server/settings/publish_plugins.py index 290baefb..b2aaa294 100644 --- a/server/settings/publish_plugins.py +++ b/server/settings/publish_plugins.py @@ -104,6 +104,13 @@ class IntegrateKitsuNotes(BaseSettingsModel): title="Custom Comment Template", ) +class IntegrateKitsuReviews(BaseSettingsModel): + match_version_number: bool = SettingsField( + title="Match version number", + description="If enabled refrain from publishing reviewables directly" \ + " into Kitsu without passing through AYON, as this can desynchronize" \ + " product version and revision number and cause errors during publish." + ) class PublishPlugins(BaseSettingsModel): CollectKitsuFamily: CollectKitsuFamilyPluginModel = SettingsField( @@ -114,6 +121,10 @@ class PublishPlugins(BaseSettingsModel): default_factory=IntegrateKitsuNotes, title="Integrate Kitsu Note" ) + IntegrateKitsuReview: IntegrateKitsuReviews = SettingsField( + default_factory=IntegrateKitsuReviews, + title="Integrate Kitsu Review" + ) PUBLISH_DEFAULT_VALUES = { @@ -294,5 +305,8 @@ class PublishPlugins(BaseSettingsModel): | family | `{family}` | | name | `{name}` |""", }, - } + }, + "IntegrateKitsuReview": { + "match_version_number": True, + }, } From 567bce21ceeed5589ce765827961a735ce50c20d Mon Sep 17 00:00:00 2001 From: Arthur Lampin Date: Wed, 8 Apr 2026 10:01:46 +0200 Subject: [PATCH 3/5] Revision can be None --- client/ayon_kitsu/plugins/publish/integrate_kitsu_review.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/client/ayon_kitsu/plugins/publish/integrate_kitsu_review.py b/client/ayon_kitsu/plugins/publish/integrate_kitsu_review.py index a4b39d7e..5202ff1a 100644 --- a/client/ayon_kitsu/plugins/publish/integrate_kitsu_review.py +++ b/client/ayon_kitsu/plugins/publish/integrate_kitsu_review.py @@ -45,5 +45,10 @@ def process(self, instance): comment=comment_id, preview_file_path=review_path, normalize_movie=True, + revision=( + instance.data["version"] + if self.match_version_number + else None + ), ) self.log.info("Review upload on comment") From f3923925829d47793c9311c3476a945480d5f2c4 Mon Sep 17 00:00:00 2001 From: Burital Date: Wed, 8 Apr 2026 10:15:07 +0200 Subject: [PATCH 4/5] Clean Lint description Co-authored-by: Roy Nieterau --- server/settings/publish_plugins.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/server/settings/publish_plugins.py b/server/settings/publish_plugins.py index b2aaa294..ef172481 100644 --- a/server/settings/publish_plugins.py +++ b/server/settings/publish_plugins.py @@ -107,9 +107,12 @@ class IntegrateKitsuNotes(BaseSettingsModel): class IntegrateKitsuReviews(BaseSettingsModel): match_version_number: bool = SettingsField( title="Match version number", - description="If enabled refrain from publishing reviewables directly" \ - " into Kitsu without passing through AYON, as this can desynchronize" \ - " product version and revision number and cause errors during publish." + description=( + "Set Kitsu note revision to match AYON version number.\n\n" + "Note: If enabled avoid uploading reviewables directly" + " into Kitsu without passing through AYON, as this can desynchronize" + " product version and revision number and cause errors during publish." + ) ) class PublishPlugins(BaseSettingsModel): From e2af369222bc282c3528979bea91021e6b7ac34d Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Fri, 10 Apr 2026 11:34:41 +0200 Subject: [PATCH 5/5] Add as class attribute --- client/ayon_kitsu/plugins/publish/integrate_kitsu_review.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/client/ayon_kitsu/plugins/publish/integrate_kitsu_review.py b/client/ayon_kitsu/plugins/publish/integrate_kitsu_review.py index 5202ff1a..dc09f324 100644 --- a/client/ayon_kitsu/plugins/publish/integrate_kitsu_review.py +++ b/client/ayon_kitsu/plugins/publish/integrate_kitsu_review.py @@ -13,6 +13,8 @@ class IntegrateKitsuReview(KitsuPublishInstancePlugin): families = ["kitsu"] optional = True + match_version_number = True + def process(self, instance): # Check comment has been created comment_id = instance.data.get("kitsuComment", {}).get("id")