From 7986fce05eb2f26ab90bbe6f7104c96c29bdbdb9 Mon Sep 17 00:00:00 2001 From: Rohan Agarwal <47861399+roaga@users.noreply.github.com> Date: Wed, 4 Sep 2024 12:28:49 -0400 Subject: [PATCH] fix(issue summary) Make breadcrumb fields optional to prevent validation errors (#1111) Some issues don't have all the breadcrumbs fields, so we make them optional now. --- src/seer/automation/models.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/seer/automation/models.py b/src/seer/automation/models.py index c5e53811..eec71d38 100644 --- a/src/seer/automation/models.py +++ b/src/seer/automation/models.py @@ -309,11 +309,11 @@ def validate_stacktrace(cls, sentry_stacktrace: SentryStacktrace | Stacktrace | class BreadcrumbsDetails(BaseModel): - type: str + type: Optional[str] = None message: Optional[str] = None - category: str + category: Optional[str] = None data: Optional[dict] = None - level: str + level: Optional[str] = None class EventDetails(BaseModel): @@ -419,13 +419,15 @@ def format_breadcrumbs(self): return "\n".join( textwrap.dedent( """\ - + {content} """ ).format( i=i, - breadcrumb_type=breadcrumb.type, - breadcrumb_category=breadcrumb.category, + breadcrumb_type=f' type="{breadcrumb.type}"' if breadcrumb.type else "", + breadcrumb_category=( + f' category="{breadcrumb.category}"' if breadcrumb.category else "" + ), content="\n".join( filter( None, @@ -439,7 +441,7 @@ def format_breadcrumbs(self): ], ) ), - level=breadcrumb.level, + level=f' level="{breadcrumb.level}"' if breadcrumb.level else "", ) for i, breadcrumb in enumerate(self.breadcrumbs) )