From 2fc48dd74752e3bc20ff85401b9049d725376e4d Mon Sep 17 00:00:00 2001 From: BigOrangeQWQ <2284086963@qq.com> Date: Mon, 9 Sep 2024 20:44:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E6=A3=80=E6=B5=8B=E5=88=A4=E5=AE=9A=E4=B8=8E?= =?UTF-8?q?=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/publish/__init__.py | 7 +++++++ src/utils/validation/models.py | 10 ++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/plugins/publish/__init__.py b/src/plugins/publish/__init__.py index f7fd4154..c4c0a248 100644 --- a/src/plugins/publish/__init__.py +++ b/src/plugins/publish/__init__.py @@ -134,6 +134,7 @@ async def check_rule( event: IssuesOpened | IssuesReopened | IssuesEdited | IssueCommentCreated, publish_type: PublishType | None = Depends(get_type_by_labels), ) -> bool: + logger.info(f"评论来自: {event.payload.sender.name}") if ( isinstance(event, IssueCommentCreated) and event.payload.comment.user @@ -141,6 +142,12 @@ async def check_rule( ): logger.info("评论来自机器人,已跳过") return False + if ( + isinstance(event, IssuesEdited) + and event.payload.sender.name + and event.payload.sender.name.endswith(BOT_MARKER) + ): + logger.info("修改来自机器人,已跳过") if event.payload.issue.pull_request: logger.info("评论在拉取请求下,已跳过") return False diff --git a/src/utils/validation/models.py b/src/utils/validation/models.py index ff745db1..3c2925d3 100644 --- a/src/utils/validation/models.py +++ b/src/utils/validation/models.py @@ -238,13 +238,19 @@ def plugin_test_load_validator(cls, v: bool, info: ValidationInfo) -> bool: @field_validator("metadata", mode="before") @classmethod def plugin_test_metadata_validator( - cls, v: Metadata, info: ValidationInfo + cls, v: Metadata | None, info: ValidationInfo ) -> Metadata: context = info.context if context is None: raise PydanticCustomError("validation_context", "未获取到验证上下文") if v is None: - raise PydanticCustomError("plugin.metadata", "插件缺少元数据") + raise PydanticCustomError( + "plugin.metadata", + "插件缺少元数据", + { + "plugin_test_result": context.get("load"), + }, + ) return v