Skip to content

Add support for another et collector endpoint

What does this MR do?

Add support for /store endpoint in error tracking collector. It allows us to support Sentry SDK for nodejs.

In details:

  • Add failsafe logic to required attributes in collect service
  • Add /store endpoint. Add more content_type to support different SDK for store endpoint.
  • Add support for sentry_key being passed via params
  • Remove majority of validation from app/validators/json_schemas/error_tracking_event_payload.json cause payload differs a lot between SDK (ruby, nodejs, clojure etc have very different attributes). Since we don't control SDK its better to save what it gives us and solve differences on code level.

Issue #329596 (closed)

Screenshots or Screencasts (strongly suggested)

No visual changes

How to setup and validate locally (strongly suggested)

Example below:

  1. Enable error tracking in the test project https://docs.gitlab.com/ee/operations/error_tracking.html#integrated-error-tracking
  2. Create a sample nodejs project with @sentry/node package https://docs.sentry.io/platforms/node/
  3. Trigger event from sample nodejs project toward GitLab DSN
  4. See GitLab creating ErrorTracking::Error and ErrorTracking::ErrorEvent.

Does this MR meet the acceptance criteria?

Conformity

Edited by Dmytro Zaporozhets (DZ)

Merge request reports