.png)
Sentry Integration Guide
Connect Sentry error, performance, release, and monitoring data with enterprise systems through REST APIs, selective webhooks, event ingestion, and Martini workflows.
Sentry integration options at a glance
Sentry provides a documented REST API for organizations, projects, issues, events, releases, teams, monitors, alerts, and related resources. Applications submit telemetry through Sentry SDKs and project DSNs, while the envelope protocol supports batched event-related data such as attachments, sessions, and transaction information. Sentry also supports webhook-style notifications for selected integration-platform events and actions, rather than every event lifecycle. Martini can consume the REST API, receive supported callbacks, process envelope or ingestion requests, apply filtering and business rules, and synchronize selected Sentry data with enterprise applications. Scoped bearer tokens, DSNs, pagination, rate limits, and payload validation should be managed through secure Martini configuration.
Common Sentry integration patterns
Common Sentry data objects used in integrations
Authentication and security considerations
Use the correct Sentry credential
Use a scoped organization or project token for REST API access and store it in Martini secrets or secure environment configuration. Use a project DSN for event ingestion, not for administrative API operations.
Apply least privilege
- Restrict API tokens to the organizations, projects, and operations required by the workflow.
- Do not expose Sentry tokens or DSNs through public Martini API responses.
- Keep ingestion credentials separate from management credentials.
Protect callbacks
Validate Sentry webhook authenticity according to the configured integration, restrict methods and content types, and use replay protection where applicable. Validate the payload before starting longer downstream processing.
Operational considerations for Sentry integrations
Pagination and rate limits
Sentry list and query endpoints may paginate results and impose limits based on organization, project, token, endpoint, or plan. Follow response metadata, use bounded queries, and handle HTTP 429 responses with backoff.
Volume and filtering
Raw Events can be high volume. Prefer Issue-, alert-, release-, or monitor-level processing when the business process concerns incidents, and filter by project, environment, severity, release, and time range.
Idempotency and retries
Webhook delivery may repeat. Use stable Sentry identifiers rather than issue titles, check downstream state before creating records, and retry transient failures without advancing a synchronization checkpoint prematurely.
Schema and payload changes
Event payloads can contain optional, nested, or product-specific fields. Validate required fields, tolerate missing tags, preserve source identifiers and URLs, and test mappings against representative payloads.
Release and attachment handling
Use consistent release naming across CI/CD and Sentry. Apply request-size limits to envelopes and attachments, and preserve attachment references when downstream systems cannot accept binary content.
Why use Martini instead of scripts or point-to-point integrations?
Orchestrate beyond a single API call
Scripts often combine authentication, pagination, filtering, mapping, retries, and downstream updates in code that is difficult to govern. Martini organizes this behavior in reusable workflows and APIs.
Separate notification from reconciliation
Martini can process supported Sentry callbacks for timely notifications while scheduled workflows reconcile REST API data. This reduces dependence on selective webhook coverage and improves operational completeness.
Make mappings maintainable
Mappings, validation, business rules, checkpoints, and error paths can be managed as explicit integration logic. This supports consistent routing of Sentry Issues, Events, Releases, Teams, and Monitors to different enterprise targets.
Centralize security and operations
Secrets, authentication, retries, logging, and workflow monitoring are handled as part of the integration runtime rather than duplicated across point-to-point scripts.