Sentry Schema¶
graph LR
O(Organization) -- RESOURCE --> T(Team)
O -- RESOURCE --> U(User)
O -- RESOURCE --> P(Project)
O -- RESOURCE --> R(Release)
O -- RESOURCE --> A(AlertRule)
P -- HAS_RULE --> A
U -- MEMBER_OF --> T
U -- ADMIN_OF --> T
P -- HAS_TEAM --> T
SentryOrganization¶
Represents a Sentry organization.
Ontology Mapping: This node has the extra label
Tenantto enable cross-platform queries for organizational tenants across different systems (e.g., OktaOrganization, AWSAccount).
Field |
Description |
|---|---|
id |
The unique identifier of the organization |
firstseen |
Timestamp of when a sync job first created this node |
lastupdated |
Timestamp of the last time the node was updated |
name |
The name of the organization |
slug |
URL-friendly identifier for the organization |
status |
Current status of the organization (e.g., active) |
date_created |
When the organization was created (ISO 8601) |
require_2fa |
Whether the organization requires 2FA |
is_early_adopter |
Whether the organization is an early adopter |
Relationships¶
Other resources belong to an
Organization(SentryOrganization)-[:RESOURCE]->( :SentryTeam, :SentryUser, :SentryProject, :SentryRelease, :SentryAlertRule)
SentryTeam¶
Represents a team within a Sentry organization.
Ontology Mapping: This node has the extra label
UserGroupto enable cross-platform queries for user groups across different systems (e.g., GitHubTeam, OktaGroup).
Field |
Description |
|---|---|
id |
The unique identifier of the team |
firstseen |
Timestamp of when a sync job first created this node |
lastupdated |
Timestamp of the last time the node was updated |
name |
The name of the team |
slug |
URL-friendly identifier for the team |
date_created |
When the team was created (ISO 8601) |
member_count |
Number of members in the team |
Relationships¶
Teambelongs to anOrganization(:SentryOrganization)-[:RESOURCE]->(:SentryTeam)Useris a member of aTeam(:SentryUser)-[:MEMBER_OF]->(:SentryTeam)Useris an admin of aTeam(owners are admins of all teams)(:SentryUser)-[:ADMIN_OF]->(:SentryTeam)Projecthas aTeam(:SentryProject)-[:HAS_TEAM]->(:SentryTeam)
SentryUser¶
Represents a member of a Sentry organization.
Ontology Mapping: This node has the extra label
UserAccountto enable cross-platform queries for user accounts across different systems (e.g., OktaUser, AWSSSOUser).
Field |
Description |
|---|---|
id |
The unique membership identifier |
firstseen |
Timestamp of when a sync job first created this node |
lastupdated |
Timestamp of the last time the node was updated |
The email address of the member |
|
name |
The display name of the member |
role |
The organization role (e.g., admin, member, owner) |
date_created |
When the membership was created (ISO 8601) |
pending |
Whether the invite is still pending |
expired |
Whether the invite has expired |
has_2fa |
Whether the user has 2FA enabled |
Relationships¶
Userbelongs to anOrganization(:SentryOrganization)-[:RESOURCE]->(:SentryUser)Useris a member of aTeam(:SentryUser)-[:MEMBER_OF]->(:SentryTeam)Useris an admin of aTeam(owners are admins of all teams)(:SentryUser)-[:ADMIN_OF]->(:SentryTeam)
SentryProject¶
Represents a project in a Sentry organization.
Field |
Description |
|---|---|
id |
The unique identifier of the project |
firstseen |
Timestamp of when a sync job first created this node |
lastupdated |
Timestamp of the last time the node was updated |
name |
The name of the project |
slug |
URL-friendly identifier for the project |
platform |
The primary platform of the project (e.g., python, javascript) |
date_created |
When the project was created (ISO 8601) |
first_event |
When the first event was received (ISO 8601) |
Relationships¶
Projectbelongs to anOrganization(:SentryOrganization)-[:RESOURCE]->(:SentryProject)Projecthas aTeam(:SentryProject)-[:HAS_TEAM]->(:SentryTeam)Projecthas alert rules(:SentryProject)-[:HAS_RULE]->(:SentryAlertRule)
SentryRelease¶
Represents a release in a Sentry organization.
Field |
Description |
|---|---|
id |
Org-scoped version string ( |
firstseen |
Timestamp of when a sync job first created this node |
lastupdated |
Timestamp of the last time the node was updated |
version |
The full version identifier |
short_version |
Abbreviated version string |
date_created |
When the release was created (ISO 8601) |
date_released |
When the release was published (ISO 8601) |
commit_count |
Number of commits in the release |
deploy_count |
Number of deploys for the release |
new_groups |
Number of new issues introduced |
ref |
Git reference associated with the release |
url |
URL associated with the release |
Relationships¶
Releasebelongs to anOrganization(:SentryOrganization)-[:RESOURCE]->(:SentryRelease)
SentryAlertRule¶
Represents an issue alert rule configured on a Sentry project.
Field |
Description |
|---|---|
id |
The unique identifier of the alert rule |
firstseen |
Timestamp of when a sync job first created this node |
lastupdated |
Timestamp of the last time the node was updated |
name |
The name of the alert rule |
date_created |
When the alert rule was created (ISO 8601) |
action_match |
Logic for conditions: all, any, or none |
filter_match |
Logic for filters: all, any, or none |
frequency |
Throttle interval in seconds |
environment |
The environment this rule applies to |
status |
Status of the rule (e.g., active) |
project_slug |
Slug of the project this rule belongs to |
Relationships¶
AlertRulebelongs to anOrganization(sub-resource for cleanup)(:SentryOrganization)-[:RESOURCE]->(:SentryAlertRule)AlertRuleis linked to aProject(:SentryProject)-[:HAS_RULE]->(:SentryAlertRule)