|
16 | 16 | from sentry.issues.issue_occurrence import IssueEvidence, IssueOccurrence
|
17 | 17 | from sentry.issues.json_schemas import EVENT_PAYLOAD_SCHEMA, LEGACY_EVENT_PAYLOAD_SCHEMA
|
18 | 18 | from sentry.issues.producer import PayloadType, produce_occurrence_to_kafka
|
| 19 | +from sentry.issues.status_change_message import StatusChangeMessage |
| 20 | +from sentry.models.group import GroupStatus |
19 | 21 | from sentry.models.project import Project
|
20 | 22 | from sentry.signals import first_feedback_received, first_new_feedback_received
|
21 | 23 | from sentry.utils import metrics
|
@@ -194,13 +196,12 @@ def create_feedback_issue(event, project_id, source: FeedbackCreationSource):
|
194 | 196 | evidence_data, evidence_display = make_evidence(
|
195 | 197 | event["contexts"]["feedback"], source, is_message_spam
|
196 | 198 | )
|
| 199 | + issue_fingerprint = [uuid4().hex] |
197 | 200 | occurrence = IssueOccurrence(
|
198 | 201 | id=uuid4().hex,
|
199 | 202 | event_id=event.get("event_id") or uuid4().hex,
|
200 | 203 | project_id=project_id,
|
201 |
| - fingerprint=[ |
202 |
| - uuid4().hex |
203 |
| - ], # random UUID for fingerprint so feedbacks are grouped individually |
| 204 | + fingerprint=issue_fingerprint, # random UUID for fingerprint so feedbacks are grouped individually |
204 | 205 | issue_title="User Feedback",
|
205 | 206 | subtitle=event["contexts"]["feedback"]["message"],
|
206 | 207 | resource_id=None,
|
@@ -240,6 +241,16 @@ def create_feedback_issue(event, project_id, source: FeedbackCreationSource):
|
240 | 241 | produce_occurrence_to_kafka(
|
241 | 242 | payload_type=PayloadType.OCCURRENCE, occurrence=occurrence, event_data=event_fixed
|
242 | 243 | )
|
| 244 | + if is_message_spam: |
| 245 | + produce_occurrence_to_kafka( |
| 246 | + payload_type=PayloadType.STATUS_CHANGE, |
| 247 | + status_change=StatusChangeMessage( |
| 248 | + fingerprint=issue_fingerprint, |
| 249 | + project_id=project_id, |
| 250 | + new_status=GroupStatus.RESOLVED, |
| 251 | + new_substatus=None, |
| 252 | + ), |
| 253 | + ) |
243 | 254 | metrics.incr(
|
244 | 255 | "feedback.create_feedback_issue.produced_occurrence",
|
245 | 256 | tags={"referrer": source.value},
|
|
0 commit comments