From 8ccea1a4869673267e96e88537b8d93d03335ba0 Mon Sep 17 00:00:00 2001 From: mdtro <20070360+mdtro@users.noreply.github.com> Date: Thu, 15 Feb 2024 18:22:30 -0600 Subject: [PATCH 1/7] add hashed columns for apitokens --- src/sentry/models/apitoken.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/sentry/models/apitoken.py b/src/sentry/models/apitoken.py index c583ce25b40985..99913ad0d48031 100644 --- a/src/sentry/models/apitoken.py +++ b/src/sentry/models/apitoken.py @@ -41,8 +41,10 @@ class ApiToken(ReplicatedControlModel, HasApiScopes): user = FlexibleForeignKey("sentry.User") name = models.CharField(max_length=255, null=True) token = models.CharField(max_length=64, unique=True, default=generate_token) + hashed_token = models.CharField(max_length=128, null=True) token_last_characters = models.CharField(max_length=4, null=True) refresh_token = models.CharField(max_length=64, unique=True, null=True, default=generate_token) + hashed_refresh_token = models.CharField(max_length=128, null=True) expires_at = models.DateTimeField(null=True, default=default_expiration) date_added = models.DateTimeField(default=timezone.now) From 3202839a852db4ce16669f72d333ef0d5637a550 Mon Sep 17 00:00:00 2001 From: mdtro <20070360+mdtro@users.noreply.github.com> Date: Thu, 15 Feb 2024 18:24:14 -0600 Subject: [PATCH 2/7] migration: add columns for hashed token values --- migrations_lockfile.txt | 2 +- .../0647_apitoken_add_hashed_columns.py | 36 +++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 src/sentry/migrations/0647_apitoken_add_hashed_columns.py diff --git a/migrations_lockfile.txt b/migrations_lockfile.txt index f0eb8c7bb18290..bf3d8d882bd091 100644 --- a/migrations_lockfile.txt +++ b/migrations_lockfile.txt @@ -9,5 +9,5 @@ feedback: 0004_index_together hybridcloud: 0011_add_hybridcloudapitoken_index nodestore: 0002_nodestore_no_dictfield replays: 0004_index_together -sentry: 0646_create_notification_message_table +sentry: 0647_apitoken_add_hashed_columns social_auth: 0002_default_auto_field diff --git a/src/sentry/migrations/0647_apitoken_add_hashed_columns.py b/src/sentry/migrations/0647_apitoken_add_hashed_columns.py new file mode 100644 index 00000000000000..27db340b74d24d --- /dev/null +++ b/src/sentry/migrations/0647_apitoken_add_hashed_columns.py @@ -0,0 +1,36 @@ +# Generated by Django 5.0.2 on 2024-02-16 00:23 + +from django.db import migrations, models + +from sentry.new_migrations.migrations import CheckedMigration + + +class Migration(CheckedMigration): + # This flag is used to mark that a migration shouldn't be automatically run in production. For + # the most part, this should only be used for operations where it's safe to run the migration + # after your code has deployed. So this should not be used for most operations that alter the + # schema of a table. + # Here are some things that make sense to mark as dangerous: + # - Large data migrations. Typically we want these to be run manually by ops so that they can + # be monitored and not block the deploy for a long period of time while they run. + # - Adding indexes to large tables. Since this can take a long time, we'd generally prefer to + # have ops run this and not block the deploy. Note that while adding an index is a schema + # change, it's completely safe to run the operation after the code has deployed. + is_dangerous = False + + dependencies = [ + ("sentry", "0646_create_notification_message_table"), + ] + + operations = [ + migrations.AddField( + model_name="apitoken", + name="hashed_refresh_token", + field=models.CharField(max_length=128, null=True), + ), + migrations.AddField( + model_name="apitoken", + name="hashed_token", + field=models.CharField(max_length=128, null=True), + ), + ] From 33c3d25b83a083bde72773764516dd85d4d90334 Mon Sep 17 00:00:00 2001 From: mdtro <20070360+mdtro@users.noreply.github.com> Date: Thu, 15 Feb 2024 19:03:17 -0600 Subject: [PATCH 3/7] add migration test --- .../test_0647_apitoken_add_hashed_columns.py | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 tests/sentry/migrations/test_0647_apitoken_add_hashed_columns.py diff --git a/tests/sentry/migrations/test_0647_apitoken_add_hashed_columns.py b/tests/sentry/migrations/test_0647_apitoken_add_hashed_columns.py new file mode 100644 index 00000000000000..0b051f34364082 --- /dev/null +++ b/tests/sentry/migrations/test_0647_apitoken_add_hashed_columns.py @@ -0,0 +1,31 @@ +from django.db import router + +from sentry.silo import unguarded_write +from sentry.testutils.cases import TestMigrations +from sentry.testutils.silo import no_silo_test + + +@no_silo_test +class AddHashedColumnsApiToken(TestMigrations): + migrate_from = "0646_create_notification_message_table" + migrate_to = "0647_apitoken_add_hashed_columns" + + def setUp(self): + from sentry.models.apitoken import ApiToken + + with unguarded_write(using=router.db_for_write(ApiToken)): + super().setUp() + + def setup_before_migration(self, apps): + ApiToken = apps.get_model("sentry", "ApiToken") + self.api_token = ApiToken.objects.create( + user_id=self.user.id, + ) + self.api_token.save() + + def test(self): + from sentry.models.apitoken import ApiToken + + api_token = ApiToken.objects.get() + assert api_token.hashed_token is None + assert api_token.hashed_refresh_token is None From ed015f78ae265d3c7ef29f4b87e1166fcea323dc Mon Sep 17 00:00:00 2001 From: mdtro <20070360+mdtro@users.noreply.github.com> Date: Fri, 16 Feb 2024 10:15:43 -0600 Subject: [PATCH 4/7] fix old migration to not import model directly --- .../migrations/0632_apitoken_backfill_last_chars.py | 2 +- .../migrations/test_0632_apitoken_backfill_last_chars.py | 9 +++------ 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/sentry/migrations/0632_apitoken_backfill_last_chars.py b/src/sentry/migrations/0632_apitoken_backfill_last_chars.py index 0e299fb6d69390..baa24f8541d75e 100644 --- a/src/sentry/migrations/0632_apitoken_backfill_last_chars.py +++ b/src/sentry/migrations/0632_apitoken_backfill_last_chars.py @@ -7,7 +7,7 @@ def backfill_last_token_characters(apps, _): - from sentry.models.apitoken import ApiToken + ApiToken = apps.get_model("sentry", "ApiToken") for api_token in RangeQuerySetWrapperWithProgressBar(ApiToken.objects.all()): if api_token.token_last_characters is None: diff --git a/tests/sentry/migrations/test_0632_apitoken_backfill_last_chars.py b/tests/sentry/migrations/test_0632_apitoken_backfill_last_chars.py index 727399a1b5cc29..1070e2fe8ffb8a 100644 --- a/tests/sentry/migrations/test_0632_apitoken_backfill_last_chars.py +++ b/tests/sentry/migrations/test_0632_apitoken_backfill_last_chars.py @@ -31,9 +31,6 @@ def setup_before_migration(self, apps): assert self.api_token.token_last_characters is None def test(self): - from sentry.models.apitoken import ApiToken - - api_tokens = ApiToken.objects.all() - for api_token in api_tokens: - assert api_token.name is None - assert api_token.token_last_characters == api_token.token[-4:] + self.api_token.refresh_from_db() + assert self.api_token.name is None + assert self.api_token.token_last_characters == self.api_token.token[-4:] From 49429bb0e5836be233d305f954a0ede787f2c9f8 Mon Sep 17 00:00:00 2001 From: mdtro <20070360+mdtro@users.noreply.github.com> Date: Fri, 16 Feb 2024 10:22:58 -0600 Subject: [PATCH 5/7] remove migration tests that just test addition of columns --- ...t_0584_apitoken_add_name_and_last_chars.py | 32 ------------------- .../test_0647_apitoken_add_hashed_columns.py | 31 ------------------ 2 files changed, 63 deletions(-) delete mode 100644 tests/sentry/migrations/test_0584_apitoken_add_name_and_last_chars.py delete mode 100644 tests/sentry/migrations/test_0647_apitoken_add_hashed_columns.py diff --git a/tests/sentry/migrations/test_0584_apitoken_add_name_and_last_chars.py b/tests/sentry/migrations/test_0584_apitoken_add_name_and_last_chars.py deleted file mode 100644 index 7963b9766a453d..00000000000000 --- a/tests/sentry/migrations/test_0584_apitoken_add_name_and_last_chars.py +++ /dev/null @@ -1,32 +0,0 @@ -from django.db import router - -from sentry.silo import unguarded_write -from sentry.testutils.cases import TestMigrations -from sentry.testutils.silo import no_silo_test - - -@no_silo_test -class NameLastCharsApiTokenMigrationTest(TestMigrations): - migrate_from = "0583_add_early_adopter_to_organization_mapping" - migrate_to = "0584_apitoken_add_name_and_last_chars" - - def setUp(self): - from sentry.models.apitoken import ApiToken - - with unguarded_write(using=router.db_for_write(ApiToken)): - super().setUp() - - def setup_before_migration(self, apps): - ApiToken = apps.get_model("sentry", "ApiToken") - self.api_token = ApiToken.objects.create( - user_id=self.user.id, - refresh_token=None, - ) - self.api_token.save() - - def test(self): - from sentry.models.apitoken import ApiToken - - api_token = ApiToken.objects.get() - assert api_token.name is None - assert api_token.token_last_characters is None diff --git a/tests/sentry/migrations/test_0647_apitoken_add_hashed_columns.py b/tests/sentry/migrations/test_0647_apitoken_add_hashed_columns.py deleted file mode 100644 index 0b051f34364082..00000000000000 --- a/tests/sentry/migrations/test_0647_apitoken_add_hashed_columns.py +++ /dev/null @@ -1,31 +0,0 @@ -from django.db import router - -from sentry.silo import unguarded_write -from sentry.testutils.cases import TestMigrations -from sentry.testutils.silo import no_silo_test - - -@no_silo_test -class AddHashedColumnsApiToken(TestMigrations): - migrate_from = "0646_create_notification_message_table" - migrate_to = "0647_apitoken_add_hashed_columns" - - def setUp(self): - from sentry.models.apitoken import ApiToken - - with unguarded_write(using=router.db_for_write(ApiToken)): - super().setUp() - - def setup_before_migration(self, apps): - ApiToken = apps.get_model("sentry", "ApiToken") - self.api_token = ApiToken.objects.create( - user_id=self.user.id, - ) - self.api_token.save() - - def test(self): - from sentry.models.apitoken import ApiToken - - api_token = ApiToken.objects.get() - assert api_token.hashed_token is None - assert api_token.hashed_refresh_token is None From 4c5afb84e44168b7d86d597d17d050b34cb0a503 Mon Sep 17 00:00:00 2001 From: mdtro <20070360+mdtro@users.noreply.github.com> Date: Fri, 16 Feb 2024 10:43:15 -0600 Subject: [PATCH 6/7] add hashed columnns to comparator --- src/sentry/backup/comparators.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/sentry/backup/comparators.py b/src/sentry/backup/comparators.py index fb33339810dcf8..0765ba93f92c61 100644 --- a/src/sentry/backup/comparators.py +++ b/src/sentry/backup/comparators.py @@ -760,7 +760,9 @@ def get_default_comparators(): list, { "sentry.apitoken": [ - HashObfuscatingComparator("refresh_token", "token"), + HashObfuscatingComparator( + "refresh_token", "token", "hashed_token", "hashed_refresh_token" + ), IgnoredComparator("token_last_characters"), UnorderedListComparator("scope_list"), ], From f888338d754dd29047e466d455e8869d093bb1e0 Mon Sep 17 00:00:00 2001 From: mdtro <20070360+mdtro@users.noreply.github.com> Date: Fri, 16 Feb 2024 10:48:00 -0600 Subject: [PATCH 7/7] update snapshot --- .../ReleaseTests/test_at_head.pysnap | 588 +++++++++--------- 1 file changed, 297 insertions(+), 291 deletions(-) diff --git a/tests/sentry/backup/snapshots/ReleaseTests/test_at_head.pysnap b/tests/sentry/backup/snapshots/ReleaseTests/test_at_head.pysnap index d3c1aeba8a06e3..769dfa27444239 100644 --- a/tests/sentry/backup/snapshots/ReleaseTests/test_at_head.pysnap +++ b/tests/sentry/backup/snapshots/ReleaseTests/test_at_head.pysnap @@ -1,18 +1,18 @@ --- -created: '2024-02-08T23:02:50.124578Z' +created: '2024-02-16T16:45:10.869880Z' creator: sentry source: tests/sentry/backup/test_releases.py --- - fields: key: bar - last_updated: '2024-02-08T23:02:49.706Z' + last_updated: '2024-02-16T16:45:10.524Z' last_updated_by: unknown value: '"b"' model: sentry.controloption pk: 1 - fields: - date_added: '2024-02-08T23:02:49.046Z' - date_updated: '2024-02-08T23:02:49.046Z' + date_added: '2024-02-16T16:45:10.073Z' + date_updated: '2024-02-16T16:45:10.073Z' external_id: slack:test-org metadata: {} name: Slack for test-org @@ -22,13 +22,13 @@ source: tests/sentry/backup/test_releases.py pk: 1 - fields: key: foo - last_updated: '2024-02-08T23:02:49.704Z' + last_updated: '2024-02-16T16:45:10.523Z' last_updated_by: unknown value: '"a"' model: sentry.option pk: 1 - fields: - date_added: '2024-02-08T23:02:48.501Z' + date_added: '2024-02-16T16:45:09.671Z' default_role: member flags: '1' is_test: false @@ -36,92 +36,92 @@ source: tests/sentry/backup/test_releases.py slug: test-org status: 0 model: sentry.organization - pk: 4553461707833344 + pk: 4553505521336320 - fields: - date_added: '2024-02-08T23:02:49.242Z' + date_added: '2024-02-16T16:45:10.219Z' default_role: member flags: '1' is_test: false - name: Humorous Rat - slug: humorous-rat + name: Trusting Tarpon + slug: trusting-tarpon status: 0 model: sentry.organization - pk: 4553461707898881 + pk: 4553505521401857 - fields: config: hello: hello - date_added: '2024-02-08T23:02:49.048Z' - date_updated: '2024-02-08T23:02:49.048Z' + date_added: '2024-02-16T16:45:10.074Z' + date_updated: '2024-02-16T16:45:10.074Z' default_auth_id: null grace_period_end: null integration: 1 - organization_id: 4553461707833344 + organization_id: 4553505521336320 status: 0 model: sentry.organizationintegration pk: 1 - fields: key: sentry:account-rate-limit - organization: 4553461707833344 + organization: 4553505521336320 value: 0 model: sentry.organizationoption pk: 1 - fields: - date_added: '2024-02-08T23:02:48.854Z' + date_added: '2024-02-16T16:45:09.920Z' first_event: null flags: '10' forced_color: null name: project-test-org - organization: 4553461707833344 + organization: 4553505521336320 platform: null public: false slug: project-test-org status: 0 model: sentry.project - pk: 4553461707833346 + pk: 4553505521336322 - fields: - date_added: '2024-02-08T23:02:49.086Z' + date_added: '2024-02-16T16:45:10.106Z' first_event: null flags: '10' forced_color: null name: other-project-test-org - organization: 4553461707833344 + organization: 4553505521336320 platform: null public: false slug: other-project-test-org status: 0 model: sentry.project - pk: 4553461707898880 + pk: 4553505521401856 - fields: - date_added: '2024-02-08T23:02:49.356Z' + date_added: '2024-02-16T16:45:10.288Z' first_event: null flags: '10' forced_color: null - name: Easy Sculpin - organization: 4553461707833344 + name: Busy Chipmunk + organization: 4553505521336320 platform: null public: false - slug: easy-sculpin + slug: busy-chipmunk status: 0 model: sentry.project - pk: 4553461707898882 + pk: 4553505521401858 - fields: - date_added: '2024-02-08T23:02:49.634Z' + date_added: '2024-02-16T16:45:10.461Z' first_event: null flags: '10' forced_color: null - name: Equipped Flounder - organization: 4553461707833344 + name: Regular Treefrog + organization: 4553505521336320 platform: null public: false - slug: equipped-flounder + slug: regular-treefrog status: 0 model: sentry.project - pk: 4553461707898883 + pk: 4553505521401859 - fields: config: hello: hello integration_id: 1 - project: 4553461707833346 + project: 4553505521336322 model: sentry.projectintegration pk: 1 - fields: @@ -129,14 +129,14 @@ source: tests/sentry/backup/test_releases.py dynamicSdkLoaderOptions: hasPerformance: true hasReplay: true - date_added: '2024-02-08T23:02:48.877Z' + date_added: '2024-02-16T16:45:09.936Z' label: Default - project: 4553461707833346 - public_key: 0a2f57a973968d9dd51b212a9b764d1f + project: 4553505521336322 + public_key: 906e531fbdfc7e254aa9547a066c2ed4 rate_limit_count: null rate_limit_window: null roles: '1' - secret_key: 0296ff36f7cedb54fed7aba3e6c67225 + secret_key: 0c7df688fa9eb6c9e6d88cc43d59f69a status: 0 model: sentry.projectkey pk: 1 @@ -145,14 +145,14 @@ source: tests/sentry/backup/test_releases.py dynamicSdkLoaderOptions: hasPerformance: true hasReplay: true - date_added: '2024-02-08T23:02:49.111Z' + date_added: '2024-02-16T16:45:10.123Z' label: Default - project: 4553461707898880 - public_key: 0b56987db351391e4959c0cc47927c01 + project: 4553505521401856 + public_key: cea97ca81024bbd4d9216793af22327c rate_limit_count: null rate_limit_window: null roles: '1' - secret_key: fac8f71f6f1b6bbf2505f5d3f73c284c + secret_key: 03b00fe6f327745fe4771c44acac216b status: 0 model: sentry.projectkey pk: 2 @@ -161,14 +161,14 @@ source: tests/sentry/backup/test_releases.py dynamicSdkLoaderOptions: hasPerformance: true hasReplay: true - date_added: '2024-02-08T23:02:49.407Z' + date_added: '2024-02-16T16:45:10.304Z' label: Default - project: 4553461707898882 - public_key: f0ae636dbc6262df92ec395dc939fdf7 + project: 4553505521401858 + public_key: f35204e5eb4a5f441af57e3fd83f82ef rate_limit_count: null rate_limit_window: null roles: '1' - secret_key: f89b94ffafc19546a8a712fb983d21c2 + secret_key: 5b48469d2d73cc570791ecf8cf260242 status: 0 model: sentry.projectkey pk: 3 @@ -177,97 +177,97 @@ source: tests/sentry/backup/test_releases.py dynamicSdkLoaderOptions: hasPerformance: true hasReplay: true - date_added: '2024-02-08T23:02:49.664Z' + date_added: '2024-02-16T16:45:10.489Z' label: Default - project: 4553461707898883 - public_key: cbb3a3977cd8052b220153b644fb0323 + project: 4553505521401859 + public_key: d48823796cdde4c4666913ece5cf3d23 rate_limit_count: null rate_limit_window: null roles: '1' - secret_key: 0de50ab20d89f1a60fdf2b185633f9d6 + secret_key: 6f7c56b83396f26bf80d381d3286bfab status: 0 model: sentry.projectkey pk: 4 - fields: key: sentry:relay-rev - project: 4553461707833346 - value: '"d60a7c36ab99421e92ae9e3fb4c759c7"' + project: 4553505521336322 + value: '"c526d4baad654837aa0a68b9501dce73"' model: sentry.projectoption pk: 1 - fields: key: sentry:relay-rev-lastchange - project: 4553461707833346 - value: '"2024-02-08T23:02:48.883593Z"' + project: 4553505521336322 + value: '"2024-02-16T16:45:09.940733Z"' model: sentry.projectoption pk: 2 - fields: key: sentry:option-epoch - project: 4553461707833346 + project: 4553505521336322 value: 11 model: sentry.projectoption pk: 3 - fields: key: sentry:relay-rev - project: 4553461707898880 - value: '"0a4fc473ddbb49cc96815c1d1fb2cdd6"' + project: 4553505521401856 + value: '"ba15676ee6fb489bb15fdd586594c2f7"' model: sentry.projectoption pk: 4 - fields: key: sentry:relay-rev-lastchange - project: 4553461707898880 - value: '"2024-02-08T23:02:49.118307Z"' + project: 4553505521401856 + value: '"2024-02-16T16:45:10.127228Z"' model: sentry.projectoption pk: 5 - fields: key: sentry:option-epoch - project: 4553461707898880 + project: 4553505521401856 value: 11 model: sentry.projectoption pk: 6 - fields: key: sentry:relay-rev - project: 4553461707898882 - value: '"38eededf5b154bfcadca2b3fa7f5bee1"' + project: 4553505521401858 + value: '"cbe7ee51a4c243c39b11ddfeefe3b780"' model: sentry.projectoption pk: 7 - fields: key: sentry:relay-rev-lastchange - project: 4553461707898882 - value: '"2024-02-08T23:02:49.413756Z"' + project: 4553505521401858 + value: '"2024-02-16T16:45:10.309069Z"' model: sentry.projectoption pk: 8 - fields: key: sentry:option-epoch - project: 4553461707898882 + project: 4553505521401858 value: 11 model: sentry.projectoption pk: 9 - fields: key: sentry:relay-rev - project: 4553461707898883 - value: '"27a61e66d0aa45d0ab8af6626e0efb18"' + project: 4553505521401859 + value: '"aee8227db7f74fd2838d4fea670d0f19"' model: sentry.projectoption pk: 10 - fields: key: sentry:relay-rev-lastchange - project: 4553461707898883 - value: '"2024-02-08T23:02:49.670789Z"' + project: 4553505521401859 + value: '"2024-02-16T16:45:10.493518Z"' model: sentry.projectoption pk: 11 - fields: key: sentry:option-epoch - project: 4553461707898883 + project: 4553505521401859 value: 11 model: sentry.projectoption pk: 12 - fields: auto_assignment: true codeowners_auto_sync: true - date_created: '2024-02-08T23:02:48.904Z' + date_created: '2024-02-16T16:45:09.953Z' fallthrough: true is_active: true - last_updated: '2024-02-08T23:02:48.904Z' - project: 4553461707833346 + last_updated: '2024-02-16T16:45:09.953Z' + project: 4553505521336322 raw: '{"hello":"hello"}' schema: hello: hello @@ -275,9 +275,9 @@ source: tests/sentry/backup/test_releases.py model: sentry.projectownership pk: 1 - fields: - date_added: '2024-02-08T23:02:48.910Z' - organization: 4553461707833344 - project: 4553461707833346 + date_added: '2024-02-16T16:45:09.959Z' + organization: 4553505521336320 + project: 4553505521336322 redirect_slug: project_slug_in_test-org model: sentry.projectredirect pk: 1 @@ -285,26 +285,26 @@ source: tests/sentry/backup/test_releases.py first_seen: null is_internal: true last_seen: null - public_key: 6kbRwGAhllnVw0r_UlnKe20efdg_o0GVSEBC7E7r4ec - relay_id: 094d4442-8815-4816-9c22-475997b07392 + public_key: 2XjLFLfXWNE9MIon4HFwTDeK7Fvij0m_YSPGVA_bidI + relay_id: d5786c67-e59d-4665-bbf4-e17e83b549d6 model: sentry.relay pk: 1 - fields: - first_seen: '2024-02-08T23:02:49.703Z' - last_seen: '2024-02-08T23:02:49.703Z' - public_key: 6kbRwGAhllnVw0r_UlnKe20efdg_o0GVSEBC7E7r4ec - relay_id: 094d4442-8815-4816-9c22-475997b07392 + first_seen: '2024-02-16T16:45:10.522Z' + last_seen: '2024-02-16T16:45:10.522Z' + public_key: 2XjLFLfXWNE9MIon4HFwTDeK7Fvij0m_YSPGVA_bidI + relay_id: d5786c67-e59d-4665-bbf4-e17e83b549d6 version: 0.0.1 model: sentry.relayusage pk: 1 - fields: config: {} - date_added: '2024-02-08T23:02:49.220Z' + date_added: '2024-02-16T16:45:10.207Z' external_id: null integration_id: 1 languages: '[]' name: getsentry/getsentry - organization_id: 4553461707833344 + organization_id: 4553505521336320 provider: integrations:github status: 0 url: https://github.com/getsentry/getsentry @@ -312,19 +312,19 @@ source: tests/sentry/backup/test_releases.py pk: 1 - fields: actor: 1 - date_added: '2024-02-08T23:02:48.761Z' + date_added: '2024-02-16T16:45:09.848Z' idp_provisioned: false name: test_team_in_test-org org_role: null - organization: 4553461707833344 + organization: 4553505521336320 slug: test_team_in_test-org status: 0 model: sentry.team - pk: 4553461707833345 + pk: 4553505521336321 - fields: avatar_type: 0 avatar_url: null - date_joined: '2024-02-08T23:02:47.769Z' + date_joined: '2024-02-16T16:45:09.584Z' email: owner flags: '0' is_active: true @@ -334,11 +334,11 @@ source: tests/sentry/backup/test_releases.py is_staff: true is_superuser: true is_unclaimed: false - last_active: '2024-02-08T23:02:47.769Z' + last_active: '2024-02-16T16:45:09.584Z' last_login: null - last_password_change: '2024-02-08T23:02:47.769Z' + last_password_change: '2024-02-16T16:45:09.584Z' name: '' - password: md5$dEXIlLhTJbFdruCG10kfEW$20263f6afeaa7524ccce090ee068cd18 + password: md5$HwuvtqO6eHTMvEUfY8F5cz$b294e2324c1d19a68fd59fb90e729e9e session_nonce: null username: owner model: sentry.user @@ -346,7 +346,7 @@ source: tests/sentry/backup/test_releases.py - fields: avatar_type: 0 avatar_url: null - date_joined: '2024-02-08T23:02:48.469Z' + date_joined: '2024-02-16T16:45:09.652Z' email: member flags: '0' is_active: true @@ -356,11 +356,11 @@ source: tests/sentry/backup/test_releases.py is_staff: false is_superuser: false is_unclaimed: false - last_active: '2024-02-08T23:02:48.469Z' + last_active: '2024-02-16T16:45:09.652Z' last_login: null - last_password_change: '2024-02-08T23:02:48.469Z' + last_password_change: '2024-02-16T16:45:09.652Z' name: '' - password: md5$bIxjTM3zBvwEHUGFoqEuwn$e666a0a3568c30d41e0dc483c031e768 + password: md5$EzXWjyA0Akcry7CcPCMEYu$89436a7a1d15528fbbe5f75783d17838 session_nonce: null username: member model: sentry.user @@ -368,7 +368,7 @@ source: tests/sentry/backup/test_releases.py - fields: avatar_type: 0 avatar_url: null - date_joined: '2024-02-08T23:02:49.156Z' + date_joined: '2024-02-16T16:45:10.159Z' email: admin@localhost flags: '0' is_active: true @@ -378,11 +378,11 @@ source: tests/sentry/backup/test_releases.py is_staff: true is_superuser: true is_unclaimed: false - last_active: '2024-02-08T23:02:49.156Z' + last_active: '2024-02-16T16:45:10.159Z' last_login: null - last_password_change: '2024-02-08T23:02:49.156Z' + last_password_change: '2024-02-16T16:45:10.159Z' name: '' - password: md5$aN5DvWOxq5uFilmAhB92zM$36c9ae9faff7135ba12df2deb8e5dfa2 + password: md5$uqysdryPHBODC34KqmDn5i$0206ff8365961eb7580ec4b5e1916041 session_nonce: null username: admin@localhost model: sentry.user @@ -390,8 +390,8 @@ source: tests/sentry/backup/test_releases.py - fields: avatar_type: 0 avatar_url: null - date_joined: '2024-02-08T23:02:49.223Z' - email: 45f7b5a351ae4d50b08f0677fd6dde3e@example.com + date_joined: '2024-02-16T16:45:10.210Z' + email: 4bdf8040aa2f4af7a6a9f43c01fcb08c@example.com flags: '0' is_active: true is_managed: false @@ -400,19 +400,19 @@ source: tests/sentry/backup/test_releases.py is_staff: true is_superuser: false is_unclaimed: false - last_active: '2024-02-08T23:02:49.223Z' + last_active: '2024-02-16T16:45:10.210Z' last_login: null - last_password_change: '2024-02-08T23:02:49.224Z' + last_password_change: '2024-02-16T16:45:10.210Z' name: '' - password: md5$Z8JT6bnDLpgDOiRahREUlE$ab269b36d4755a0f4595356e4ac85aa8 + password: md5$9pPQ5DKBBB0zKnRoUTW8Hi$3a1494084ef11d82825c1ffd4fd4e017 session_nonce: null - username: 45f7b5a351ae4d50b08f0677fd6dde3e@example.com + username: 4bdf8040aa2f4af7a6a9f43c01fcb08c@example.com model: sentry.user pk: 4 - fields: avatar_type: 0 avatar_url: null - date_joined: '2024-02-08T23:02:49.327Z' + date_joined: '2024-02-16T16:45:10.275Z' email: '' flags: '0' is_active: true @@ -422,20 +422,20 @@ source: tests/sentry/backup/test_releases.py is_staff: false is_superuser: false is_unclaimed: false - last_active: '2024-02-08T23:02:49.327Z' + last_active: '2024-02-16T16:45:10.275Z' last_login: null last_password_change: null name: '' password: '' session_nonce: null - username: test-app-6e48da45-6e13-4c5c-94cf-0440bf19fb33 + username: test-app-a1e10418-971f-46b3-9a32-bf2435faf2e9 model: sentry.user pk: 5 - fields: avatar_type: 0 avatar_url: null - date_joined: '2024-02-08T23:02:49.616Z' - email: afc62038b2ba4f78924ac8874eb8f8c7@example.com + date_joined: '2024-02-16T16:45:10.450Z' + email: 0cad1465baed44cdbf4101f1571f510d@example.com flags: '0' is_active: true is_managed: false @@ -444,13 +444,13 @@ source: tests/sentry/backup/test_releases.py is_staff: true is_superuser: false is_unclaimed: false - last_active: '2024-02-08T23:02:49.616Z' + last_active: '2024-02-16T16:45:10.450Z' last_login: null - last_password_change: '2024-02-08T23:02:49.616Z' + last_password_change: '2024-02-16T16:45:10.450Z' name: '' - password: md5$b5Z5yDin8emBLtEYYJJIfs$f7e007f00c683bc95d077bf0ab97d784 + password: md5$32eztP0w7q2mvsodczasco$9e9cf6d48dca21c80567975957c81fac session_nonce: null - username: afc62038b2ba4f78924ac8874eb8f8c7@example.com + username: 0cad1465baed44cdbf4101f1571f510d@example.com model: sentry.user pk: 6 - fields: @@ -493,24 +493,24 @@ source: tests/sentry/backup/test_releases.py model: sentry.userpermission pk: 1 - fields: - date_added: '2024-02-08T23:02:47.807Z' - date_updated: '2024-02-08T23:02:47.807Z' + date_added: '2024-02-16T16:45:09.621Z' + date_updated: '2024-02-16T16:45:09.621Z' name: test-admin-role permissions: '[]' model: sentry.userrole pk: 1 - fields: - date_added: '2024-02-08T23:02:47.815Z' - date_updated: '2024-02-08T23:02:47.815Z' + date_added: '2024-02-16T16:45:09.625Z' + date_updated: '2024-02-16T16:45:09.625Z' role: 1 user: 1 model: sentry.userroleuser pk: 1 - fields: - date_added: '2024-02-08T23:02:49.210Z' + date_added: '2024-02-16T16:45:10.201Z' is_global: false name: Saved query for test-org - organization: 4553461707833344 + organization: 4553505521336320 owner_id: null query: saved query for test-org sort: date @@ -519,9 +519,9 @@ source: tests/sentry/backup/test_releases.py model: sentry.savedsearch pk: 1 - fields: - date_added: '2024-02-08T23:02:49.208Z' - last_seen: '2024-02-08T23:02:49.208Z' - organization: 4553461707833344 + date_added: '2024-02-16T16:45:10.200Z' + last_seen: '2024-02-16T16:45:10.200Z' + organization: 4553505521336320 query: some query for test-org query_hash: 7c69362cd42207b83f80087bc15ebccb type: 0 @@ -529,42 +529,42 @@ source: tests/sentry/backup/test_releases.py model: sentry.recentsearch pk: 1 - fields: - project: 4553461707833346 - team: 4553461707833345 + project: 4553505521336322 + team: 4553505521336321 model: sentry.projectteam pk: 1 - fields: - project: 4553461707898880 - team: 4553461707833345 + project: 4553505521401856 + team: 4553505521336321 model: sentry.projectteam pk: 2 - fields: - date_added: '2024-02-08T23:02:48.902Z' - project: 4553461707833346 + date_added: '2024-02-16T16:45:09.952Z' + project: 4553505521336322 user_id: 1 model: sentry.projectbookmark pk: 1 - fields: created_by: null - date_added: '2024-02-08T23:02:49.017Z' + date_added: '2024-02-16T16:45:10.045Z' date_deactivated: null date_last_used: null name: token 1 for test-org - organization_id: 4553461707833344 - project_last_used_id: 4553461707833346 + organization_id: 4553505521336320 + project_last_used_id: 4553505521336322 scope_list: '[''org:ci'']' token_hashed: ABCDEFtest-org token_last_characters: xyz1 model: sentry.orgauthtoken pk: 1 - fields: - date_added: '2024-02-08T23:02:48.589Z' + date_added: '2024-02-16T16:45:09.724Z' email: null flags: '0' has_global_access: true invite_status: 0 inviter_id: null - organization: 4553461707833344 + organization: 4553505521336320 role: owner token: null token_expires_at: null @@ -575,13 +575,13 @@ source: tests/sentry/backup/test_releases.py model: sentry.organizationmember pk: 1 - fields: - date_added: '2024-02-08T23:02:48.669Z' + date_added: '2024-02-16T16:45:09.772Z' email: null flags: '0' has_global_access: true invite_status: 0 inviter_id: null - organization: 4553461707833344 + organization: 4553505521336320 role: member token: null token_expires_at: null @@ -594,106 +594,106 @@ source: tests/sentry/backup/test_releases.py - fields: member: 2 requester_id: null - team: 4553461707833345 + team: 4553505521336321 model: sentry.organizationaccessrequest pk: 1 - fields: config: schedule: '* * * * *' schedule_type: 1 - date_added: '2024-02-08T23:02:49.081Z' - guid: 7b8c78de-511c-4c53-a243-72d3c1ccd494 + date_added: '2024-02-16T16:45:10.102Z' + guid: e7ac4c98-b15c-479f-b4b5-8f21f950ce4b is_muted: false name: '' - organization_id: 4553461707833344 - project_id: 4553461707833346 - slug: 672e84ad6332 + organization_id: 4553505521336320 + project_id: 4553505521336322 + slug: 0400c2b08de6 status: 0 type: 3 model: sentry.monitor pk: 1 - fields: - date_added: '2024-02-08T23:02:49.076Z' - name: nominally true quagga - organization_id: 4553461707833344 + date_added: '2024-02-16T16:45:10.099Z' + name: nationally enough goshawk + organization_id: 4553505521336320 model: sentry.environment pk: 1 - fields: - date_added: '2024-02-08T23:02:47.776Z' + date_added: '2024-02-16T16:45:09.589Z' email: owner model: sentry.email pk: 1 - fields: - date_added: '2024-02-08T23:02:48.481Z' + date_added: '2024-02-16T16:45:09.656Z' email: member model: sentry.email pk: 2 - fields: - date_added: '2024-02-08T23:02:49.162Z' + date_added: '2024-02-16T16:45:10.163Z' email: admin@localhost model: sentry.email pk: 3 - fields: - date_added: '2024-02-08T23:02:49.230Z' - email: 45f7b5a351ae4d50b08f0677fd6dde3e@example.com + date_added: '2024-02-16T16:45:10.213Z' + email: 4bdf8040aa2f4af7a6a9f43c01fcb08c@example.com model: sentry.email pk: 4 - fields: - date_added: '2024-02-08T23:02:49.338Z' + date_added: '2024-02-16T16:45:10.279Z' email: '' model: sentry.email pk: 5 - fields: - date_added: '2024-02-08T23:02:49.623Z' - email: afc62038b2ba4f78924ac8874eb8f8c7@example.com + date_added: '2024-02-16T16:45:10.454Z' + email: 0cad1465baed44cdbf4101f1571f510d@example.com model: sentry.email pk: 6 - fields: - date_added: '2024-02-08T23:02:49.207Z' - organization: 4553461707833344 + date_added: '2024-02-16T16:45:10.199Z' + organization: 4553505521336320 slug: test-tombstone-in-test-org model: sentry.dashboardtombstone pk: 1 - fields: created_by_id: 1 - date_added: '2024-02-08T23:02:49.199Z' + date_added: '2024-02-16T16:45:10.195Z' filters: null - last_visited: '2024-02-08T23:02:49.199Z' - organization: 4553461707833344 + last_visited: '2024-02-16T16:45:10.195Z' + organization: 4553505521336320 title: Dashboard 1 for test-org visits: 1 model: sentry.dashboard pk: 1 - fields: condition: '{"op":"equals","name":"environment","value":"prod"}' - condition_hash: 707ef58ec7d06d7642cd282965d9addeec12dd64 + condition_hash: f2870e38bb046138cee7840584c5c69a1630b136 created_by_id: null - date_added: '2024-02-08T23:02:49.069Z' - end_date: '2024-02-09T00:02:49.064Z' + date_added: '2024-02-16T16:45:10.093Z' + end_date: '2024-02-16T17:45:10.084Z' is_active: true is_org_level: false notification_sent: false num_samples: 100 - organization: 4553461707833344 + organization: 4553505521336320 query: environment:prod event.type:transaction rule_id: 1 sample_rate: 0.5 - start_date: '2024-02-08T23:02:49.064Z' + start_date: '2024-02-16T16:45:10.084Z' model: sentry.customdynamicsamplingrule pk: 1 - fields: - project: 4553461707833346 + project: 4553505521336322 value: 1 model: sentry.counter pk: 1 - fields: config: {} - date_added: '2024-02-08T23:02:48.952Z' + date_added: '2024-02-16T16:45:09.987Z' default_global_access: true default_role: 50 flags: '0' last_sync: null - organization_id: 4553461707833344 + organization_id: 4553505521336320 provider: sentry sync_time: null model: sentry.authprovider @@ -709,16 +709,16 @@ source: tests/sentry/backup/test_releases.py - 3 key4: nested_key: nested_value - date_added: '2024-02-08T23:02:48.985Z' + date_added: '2024-02-16T16:45:10.013Z' ident: 123456789test-org - last_synced: '2024-02-08T23:02:48.985Z' - last_verified: '2024-02-08T23:02:48.985Z' + last_synced: '2024-02-16T16:45:10.013Z' + last_verified: '2024-02-16T16:45:10.013Z' user: 1 model: sentry.authidentity pk: 1 - fields: config: '""' - created_at: '2024-02-08T23:02:47.792Z' + created_at: '2024-02-16T16:45:09.610Z' last_used_at: null type: 1 user: 1 @@ -726,7 +726,7 @@ source: tests/sentry/backup/test_releases.py pk: 1 - fields: config: '""' - created_at: '2024-02-08T23:02:48.495Z' + created_at: '2024-02-16T16:45:09.666Z' last_used_at: null type: 1 user: 2 @@ -734,10 +734,10 @@ source: tests/sentry/backup/test_releases.py pk: 2 - fields: allowed_origins: null - date_added: '2024-02-08T23:02:48.920Z' - key: 59dfda1c5fda41fe904b94e5901a02f0 + date_added: '2024-02-16T16:45:09.967Z' + key: 5a7e25c28789479a906a96b79b74bdf2 label: Default - organization_id: 4553461707833344 + organization_id: 4553505521336320 scope_list: '[]' scopes: '0' status: 0 @@ -745,11 +745,11 @@ source: tests/sentry/backup/test_releases.py pk: 1 - fields: allowed_origins: '' - client_id: e0f6fc9b56a2f1df907c3cd84175c5cdf499221ba05f67ffd705d4b1ba923997 - client_secret: 9ff0b80ebfbcce8b0d99d96ecdbce2aee3104ec7619a801805134383ad375254 - date_added: '2024-02-08T23:02:49.348Z' + client_id: f8f73fc9e6f156c7b75e708033cecb194f0bbca1df0b7a7635c7faa52ee641e2 + client_secret: 996dc981281cd4a1c3711d5cdf708a0deb6f5a5b550546d8cb6ca56e2b39dfab + date_added: '2024-02-16T16:45:10.283Z' homepage_url: null - name: Actual Parakeet + name: Worthy Koala owner: 5 privacy_url: null redirect_uris: '' @@ -758,63 +758,63 @@ source: tests/sentry/backup/test_releases.py model: sentry.apiapplication pk: 1 - fields: - team: 4553461707833345 + team: 4553505521336321 type: 0 user_id: null model: sentry.actor pk: 1 - fields: - date_hash_added: '2024-02-08T23:02:47.773Z' + date_hash_added: '2024-02-16T16:45:09.587Z' email: owner is_verified: true user: 1 - validation_hash: BlnXlBh4eUhXbCvfH8EDBbELvFiutx08 + validation_hash: DXlrqDxBamlAliTJAR9H1UXYk1TqHmHE model: sentry.useremail pk: 1 - fields: - date_hash_added: '2024-02-08T23:02:48.473Z' + date_hash_added: '2024-02-16T16:45:09.654Z' email: member is_verified: true user: 2 - validation_hash: zQHiAM3sCiMG4IFJ0YlJMGxd9xhMztqv + validation_hash: tMPxi4fZsEjwO8I65EFIVo9BSLLp0QZ0 model: sentry.useremail pk: 2 - fields: - date_hash_added: '2024-02-08T23:02:49.158Z' + date_hash_added: '2024-02-16T16:45:10.161Z' email: admin@localhost is_verified: true user: 3 - validation_hash: C4ZDSNEUAOzlanuJ4x067Om5svri2IK6 + validation_hash: a4CsjBVqgQw0wZ0qSI8eqCLYLmVtf1Lz model: sentry.useremail pk: 3 - fields: - date_hash_added: '2024-02-08T23:02:49.227Z' - email: 45f7b5a351ae4d50b08f0677fd6dde3e@example.com + date_hash_added: '2024-02-16T16:45:10.211Z' + email: 4bdf8040aa2f4af7a6a9f43c01fcb08c@example.com is_verified: true user: 4 - validation_hash: AhlnwD5BTaVCRwmbaj5k0iPN5dbLPXBs + validation_hash: BcSlx2PJLCeVEyTTDo4AiJSlVqvtJKje model: sentry.useremail pk: 4 - fields: - date_hash_added: '2024-02-08T23:02:49.330Z' + date_hash_added: '2024-02-16T16:45:10.277Z' email: '' is_verified: false user: 5 - validation_hash: bmuUCRc3Vyapl3FPtbwxOEEYcuhdduMn + validation_hash: vRwM6iRBrAxgUFvmmxZ32JS27yNgUtRA model: sentry.useremail pk: 5 - fields: - date_hash_added: '2024-02-08T23:02:49.619Z' - email: afc62038b2ba4f78924ac8874eb8f8c7@example.com + date_hash_added: '2024-02-16T16:45:10.452Z' + email: 0cad1465baed44cdbf4101f1571f510d@example.com is_verified: true user: 6 - validation_hash: S4PpuhCR4Mha6kAB2bHCebHTOFaUYRmu + validation_hash: rDNjEtJiTisHKl69iuzHlAGEfN2cnfAd model: sentry.useremail pk: 6 - fields: aggregate: count() dataset: events - date_added: '2024-02-08T23:02:49.134Z' + date_added: '2024-02-16T16:45:10.145Z' environment: null query: level:error resolution: 60 @@ -825,7 +825,7 @@ source: tests/sentry/backup/test_releases.py - fields: aggregate: count() dataset: events - date_added: '2024-02-08T23:02:49.174Z' + date_added: '2024-02-16T16:45:10.171Z' environment: null query: test query resolution: 60 @@ -836,18 +836,18 @@ source: tests/sentry/backup/test_releases.py - fields: application: 1 author: A Company - creator_label: 45f7b5a351ae4d50b08f0677fd6dde3e@example.com + creator_label: 4bdf8040aa2f4af7a6a9f43c01fcb08c@example.com creator_user: 4 - date_added: '2024-02-08T23:02:49.349Z' + date_added: '2024-02-16T16:45:10.284Z' date_deleted: null date_published: null - date_updated: '2024-02-08T23:02:49.570Z' + date_updated: '2024-02-16T16:45:10.416Z' events: '[]' is_alertable: false metadata: {} name: test app overview: null - owner_id: 4553461707833344 + owner_id: 4553505521336320 popularity: 1 proxy_user: 5 redirect_url: null @@ -888,26 +888,26 @@ source: tests/sentry/backup/test_releases.py scopes: '0' slug: test-app status: 0 - uuid: 1e1a6b93-9633-42e5-8d32-169d12130b17 + uuid: 5b5c7250-ab00-4e3b-bfe3-974435441383 verify_install: true webhook_url: https://example.com/webhook model: sentry.sentryapp pk: 1 - fields: data: '{"conditions":[{"id":"sentry.rules.conditions.first_seen_event.FirstSeenEventCondition"},{"id":"sentry.rules.conditions.every_event.EveryEventCondition"}],"action_match":"all","filter_match":"all","actions":[{"id":"sentry.rules.actions.notify_event.NotifyEventAction"},{"id":"sentry.rules.actions.notify_event_service.NotifyEventServiceAction","service":"mail"}]}' - date_added: '2024-02-08T23:02:49.056Z' + date_added: '2024-02-16T16:45:10.079Z' environment_id: null label: '' owner: null - project: 4553461707833346 + project: 4553505521336322 source: 0 status: 0 model: sentry.rule pk: 1 - fields: - date_added: '2024-02-08T23:02:49.144Z' - date_updated: '2024-02-08T23:02:49.144Z' - project: 4553461707833346 + date_added: '2024-02-16T16:45:10.151Z' + date_updated: '2024-02-16T16:45:10.151Z' + project: 4553505521336322 snuba_query: 1 status: 1 subscription_id: null @@ -915,9 +915,9 @@ source: tests/sentry/backup/test_releases.py model: sentry.querysubscription pk: 1 - fields: - date_added: '2024-02-08T23:02:49.178Z' - date_updated: '2024-02-08T23:02:49.178Z' - project: 4553461707833346 + date_added: '2024-02-16T16:45:10.174Z' + date_updated: '2024-02-16T16:45:10.174Z' + project: 4553505521336322 snuba_query: 2 status: 1 subscription_id: null @@ -925,9 +925,9 @@ source: tests/sentry/backup/test_releases.py model: sentry.querysubscription pk: 2 - fields: - date_added: '2024-02-08T23:02:49.366Z' - date_updated: '2024-02-08T23:02:49.366Z' - project: 4553461707898882 + date_added: '2024-02-16T16:45:10.291Z' + date_updated: '2024-02-16T16:45:10.291Z' + project: 4553505521401858 snuba_query: 1 status: 1 subscription_id: null @@ -935,9 +935,9 @@ source: tests/sentry/backup/test_releases.py model: sentry.querysubscription pk: 3 - fields: - date_added: '2024-02-08T23:02:49.639Z' - date_updated: '2024-02-08T23:02:49.639Z' - project: 4553461707898883 + date_added: '2024-02-16T16:45:10.469Z' + date_updated: '2024-02-16T16:45:10.469Z' + project: 4553505521401859 snuba_query: 1 status: 1 subscription_id: null @@ -948,12 +948,12 @@ source: tests/sentry/backup/test_releases.py is_active: true organizationmember: 1 role: null - team: 4553461707833345 + team: 4553505521336321 model: sentry.organizationmemberteam pk: 1 - fields: integration_id: null - organization: 4553461707833344 + organization: 4553505521336320 sentry_app_id: null target_display: Sentry User target_identifier: '1' @@ -964,7 +964,7 @@ source: tests/sentry/backup/test_releases.py pk: 1 - fields: integration_id: null - organization: 4553461707833344 + organization: 4553505521336320 sentry_app_id: 1 target_display: Sentry User target_identifier: '1' @@ -974,23 +974,23 @@ source: tests/sentry/backup/test_releases.py model: sentry.notificationaction pk: 2 - fields: - disable_date: '2024-02-08T23:02:49.062Z' + disable_date: '2024-02-16T16:45:10.083Z' opted_out: false - organization: 4553461707833344 + organization: 4553505521336320 rule: 1 - sent_final_email_date: '2024-02-08T23:02:49.062Z' - sent_initial_email_date: '2024-02-08T23:02:49.062Z' + sent_final_email_date: '2024-02-16T16:45:10.083Z' + sent_initial_email_date: '2024-02-16T16:45:10.083Z' model: sentry.neglectedrule pk: 1 - fields: environment: 1 is_hidden: null - project: 4553461707833346 + project: 4553505521336322 model: sentry.environmentproject pk: 1 - fields: dashboard: 1 - date_added: '2024-02-08T23:02:49.201Z' + date_added: '2024-02-16T16:45:10.196Z' description: null detail: null display_type: 0 @@ -1004,51 +1004,57 @@ source: tests/sentry/backup/test_releases.py pk: 1 - fields: custom_dynamic_sampling_rule: 1 - project: 4553461707833346 + project: 4553505521336322 model: sentry.customdynamicsamplingruleproject pk: 1 - fields: application: 1 - date_added: '2024-02-08T23:02:49.502Z' - expires_at: '2024-02-09T07:02:49.502Z' + date_added: '2024-02-16T16:45:10.365Z' + expires_at: '2024-02-17T00:45:10.365Z' + hashed_refresh_token: null + hashed_token: null name: null - refresh_token: 3e39a578e2ba2994892ae254352d3dcd3d488d9fac43178c717dbcb4d75bd3cd + refresh_token: a4cdd7068d7d6ef406d28500510d9dfc4fd481d9cd8611c56fc825a56bababc9 scope_list: '[]' scopes: '0' - token: db26486df2bb090fa243038485262cc74b11660c468977cec6907f6698e84a39 - token_last_characters: 4a39 + token: 3360f4c2b700e325e06d5bf4c3768ab54f2e6060231a1a5807c9b754413c941c + token_last_characters: 941c user: 5 model: sentry.apitoken pk: 1 - fields: application: 1 - date_added: '2024-02-08T23:02:49.583Z' + date_added: '2024-02-16T16:45:10.425Z' expires_at: null + hashed_refresh_token: null + hashed_token: null name: create_exhaustive_sentry_app - refresh_token: 9416df042fe2f111ff024edcd19565839748cf3d04bc8abc0b03fe2860504c1a + refresh_token: ea20ab0510c42a4d7e605ae3dca9674fc24b2a6c932ca438fd78d62efd50a006 scope_list: '[]' scopes: '0' - token: 06ebb93354eb8c3b12708568299a0141885f5c4f1352690732006c4909e4ba5c - token_last_characters: ba5c + token: 626ccabea4a9256becb479883c0e3aa1ffeb7a18b6f681b3db252b421c7877d7 + token_last_characters: 77d7 user: 1 model: sentry.apitoken pk: 2 - fields: application: null - date_added: '2024-02-08T23:02:49.708Z' + date_added: '2024-02-16T16:45:10.526Z' expires_at: null + hashed_refresh_token: null + hashed_token: null name: create_exhaustive_global_configs - refresh_token: 09dfd791a8b63efbf79842a262037eae148de746732744ee37d48d9f55754982 + refresh_token: c85c3afd2551309d90c0da303683c4526e5e787e59c2f774ee63bf59187628e4 scope_list: '[]' scopes: '0' - token: 3a945b61dd553caa4bbe30e08a5113d67f0abd9fead2c4f7983c23ab0dad99cd - token_last_characters: 99cd + token: 5f027c10e34ce023241f24acc6d196b6166197094f5731cf12c027850b4fbe76 + token_last_characters: be76 user: 1 model: sentry.apitoken pk: 3 - fields: application: 1 - code: 03377411f8b5dd30503e8a38b6235ba388993ba8ab18314420172cd6cd46cd31 + code: 961e090d07629a48654a2c264994b45b14b8579ca24551600aedf9636666d1fd expires_at: '2022-01-01T11:11:00.000Z' redirect_uri: https://example.com scope_list: '[''openid'', ''profile'', ''email'']' @@ -1058,7 +1064,7 @@ source: tests/sentry/backup/test_releases.py pk: 2 - fields: application: 1 - date_added: '2024-02-08T23:02:49.581Z' + date_added: '2024-02-16T16:45:10.424Z' scope_list: '[]' scopes: '0' user: 1 @@ -1066,7 +1072,7 @@ source: tests/sentry/backup/test_releases.py pk: 1 - fields: application: null - date_added: '2024-02-08T23:02:49.707Z' + date_added: '2024-02-16T16:45:10.525Z' scope_list: '[]' scopes: '0' user: 1 @@ -1074,11 +1080,11 @@ source: tests/sentry/backup/test_releases.py pk: 2 - fields: comparison_delta: null - date_added: '2024-02-08T23:02:49.138Z' - date_modified: '2024-02-08T23:02:49.138Z' + date_added: '2024-02-16T16:45:10.148Z' + date_modified: '2024-02-16T16:45:10.148Z' include_all_projects: true - name: Simple Bedbug - organization: 4553461707833344 + name: Guiding Bunny + organization: 4553505521336320 owner: null resolve_threshold: null snuba_query: 1 @@ -1091,11 +1097,11 @@ source: tests/sentry/backup/test_releases.py pk: 1 - fields: comparison_delta: null - date_added: '2024-02-08T23:02:49.177Z' - date_modified: '2024-02-08T23:02:49.176Z' + date_added: '2024-02-16T16:45:10.173Z' + date_modified: '2024-02-16T16:45:10.173Z' include_all_projects: false - name: Cool Gopher - organization: 4553461707833344 + name: Infinite Tapir + organization: 4553505521336320 owner: null resolve_threshold: null snuba_query: 2 @@ -1119,13 +1125,13 @@ source: tests/sentry/backup/test_releases.py - fields: api_grant: null api_token: 1 - date_added: '2024-02-08T23:02:49.436Z' + date_added: '2024-02-16T16:45:10.322Z' date_deleted: null - date_updated: '2024-02-08T23:02:49.469Z' - organization_id: 4553461707833344 + date_updated: '2024-02-16T16:45:10.346Z' + organization_id: 4553505521336320 sentry_app: 1 status: 1 - uuid: ae8432c3-b695-4ef9-8ba3-fc04ee9d3ef5 + uuid: 81b7174f-f5c1-4b26-a561-80a69997ce67 model: sentry.sentryappinstallation pk: 1 - fields: @@ -1163,12 +1169,12 @@ source: tests/sentry/backup/test_releases.py type: alert-rule-action sentry_app: 1 type: alert-rule-action - uuid: 6440b989-cbe3-4aff-a572-2d06372dc36b + uuid: 2cfdd421-fdc6-4006-8470-212b83f6b134 model: sentry.sentryappcomponent pk: 1 - fields: alert_rule: null - date_added: '2024-02-08T23:02:49.060Z' + date_added: '2024-02-16T16:45:10.082Z' owner_id: 1 rule: 1 until: null @@ -1176,7 +1182,7 @@ source: tests/sentry/backup/test_releases.py model: sentry.rulesnooze pk: 1 - fields: - date_added: '2024-02-08T23:02:49.058Z' + date_added: '2024-02-16T16:45:10.081Z' rule: 1 type: 1 user_id: null @@ -1184,26 +1190,26 @@ source: tests/sentry/backup/test_releases.py pk: 1 - fields: action: 1 - project: 4553461707833346 + project: 4553505521336322 model: sentry.notificationactionproject pk: 1 - fields: action: 2 - project: 4553461707833346 + project: 4553505521336322 model: sentry.notificationactionproject pk: 2 - fields: alert_rule: 2 - date_added: '2024-02-08T23:02:49.184Z' + date_added: '2024-02-16T16:45:10.178Z' date_closed: null - date_detected: '2024-02-08T23:02:49.182Z' - date_started: '2024-02-08T23:02:49.182Z' + date_detected: '2024-02-16T16:45:10.176Z' + date_started: '2024-02-16T16:45:10.176Z' detection_uuid: null identifier: 1 - organization: 4553461707833344 + organization: 4553505521336320 status: 1 status_method: 3 - title: Thorough Mastiff + title: Sharing Airedale type: 2 model: sentry.incident pk: 1 @@ -1211,8 +1217,8 @@ source: tests/sentry/backup/test_releases.py aggregates: null columns: null conditions: '' - date_added: '2024-02-08T23:02:49.203Z' - date_modified: '2024-02-08T23:02:49.203Z' + date_added: '2024-02-16T16:45:10.197Z' + date_modified: '2024-02-16T16:45:10.197Z' field_aliases: null fields: '[]' name: Test Query for test-org @@ -1224,21 +1230,21 @@ source: tests/sentry/backup/test_releases.py - fields: alert_rule: 1 alert_threshold: 100.0 - date_added: '2024-02-08T23:02:49.152Z' - label: Capital Spider + date_added: '2024-02-16T16:45:10.156Z' + label: Uncommon Teal resolve_threshold: null threshold_type: null model: sentry.alertruletrigger pk: 1 - fields: alert_rule: 1 - date_added: '2024-02-08T23:02:49.141Z' - project: 4553461707898880 + date_added: '2024-02-16T16:45:10.149Z' + project: 4553505521401856 model: sentry.alertruleexcludedprojects pk: 1 - fields: alert_rule: 1 - date_added: '2024-02-08T23:02:49.146Z' + date_added: '2024-02-16T16:45:10.152Z' previous_alert_rule: null type: 1 user_id: null @@ -1246,30 +1252,30 @@ source: tests/sentry/backup/test_releases.py pk: 1 - fields: alert_rule: 2 - date_added: '2024-02-08T23:02:49.180Z' + date_added: '2024-02-16T16:45:10.175Z' previous_alert_rule: null type: 1 user_id: null model: sentry.alertruleactivity pk: 2 - fields: - date_added: '2024-02-08T23:02:49.191Z' - end: '2024-02-08T23:02:49.191Z' + date_added: '2024-02-16T16:45:10.190Z' + end: '2024-02-16T16:45:10.190Z' period: 1 - start: '2024-02-07T23:02:49.191Z' + start: '2024-02-15T16:45:10.190Z' values: '[[1.0, 2.0, 3.0], [1.5, 2.5, 3.5]]' model: sentry.timeseriessnapshot pk: 1 - fields: actor_id: 1 application_id: 1 - date_added: '2024-02-08T23:02:49.465Z' + date_added: '2024-02-16T16:45:10.343Z' events: '[]' - guid: bd112b5b435a41f3a8c3841c223080f9 + guid: 0797ed7f99fb4ad2802c475870ab626f installation_id: 1 - organization_id: 4553461707833344 + organization_id: 4553505521336320 project_id: null - secret: 4c2d26b18e178f2561af0c0740250c4f8fe12e4e288799ce49fd8218a49d4e09 + secret: d12ee091b4a6b5879f2c83a23e3a8f6ea257eab6d4e7274bf9391f85dba98d1e status: 0 url: https://example.com/webhook version: 0 @@ -1278,40 +1284,40 @@ source: tests/sentry/backup/test_releases.py - fields: actor_id: 6 application_id: 1 - date_added: '2024-02-08T23:02:49.685Z' + date_added: '2024-02-16T16:45:10.510Z' events: '[''event.created'']' - guid: 927ec4643b4b43098825daa0818e9ddc + guid: db11e71b3bee47e59fab86ab5ad356f3 installation_id: 1 - organization_id: 4553461707833344 - project_id: 4553461707898883 - secret: 37cb10be9109ace0d9218c0f9fe77b5052a1786ca8f8bb3ed0460522df8b170d + organization_id: 4553505521336320 + project_id: 4553505521401859 + secret: 855f9cce488c41f38a35015a05c01f24b4f275d5a5a9ac7de982991a73308677 status: 0 url: https://example.com/sentry/webhook version: 0 model: sentry.servicehook pk: 2 - fields: - date_added: '2024-02-08T23:02:49.197Z' + date_added: '2024-02-16T16:45:10.194Z' incident: 1 - target_run_date: '2024-02-09T03:02:49.197Z' + target_run_date: '2024-02-16T20:45:10.194Z' model: sentry.pendingincidentsnapshot pk: 1 - fields: alert_rule_trigger: 1 - date_added: '2024-02-08T23:02:49.196Z' - date_modified: '2024-02-08T23:02:49.196Z' + date_added: '2024-02-16T16:45:10.193Z' + date_modified: '2024-02-16T16:45:10.193Z' incident: 1 status: 1 model: sentry.incidenttrigger pk: 1 - fields: - date_added: '2024-02-08T23:02:49.194Z' + date_added: '2024-02-16T16:45:10.192Z' incident: 1 user_id: 1 model: sentry.incidentsubscription pk: 1 - fields: - date_added: '2024-02-08T23:02:49.193Z' + date_added: '2024-02-16T16:45:10.191Z' event_stats_snapshot: 1 incident: 1 total_events: 1 @@ -1320,7 +1326,7 @@ source: tests/sentry/backup/test_releases.py pk: 1 - fields: comment: hello test-org - date_added: '2024-02-08T23:02:49.190Z' + date_added: '2024-02-16T16:45:10.181Z' incident: 1 notification_uuid: null previous_value: null @@ -1331,8 +1337,8 @@ source: tests/sentry/backup/test_releases.py pk: 1 - fields: dashboard_widget_query: 1 - date_added: '2024-02-08T23:02:49.205Z' - date_modified: '2024-02-08T23:02:49.205Z' + date_added: '2024-02-16T16:45:10.198Z' + date_modified: '2024-02-16T16:45:10.198Z' extraction_state: disabled:not-applicable spec_hashes: '[]' spec_version: null @@ -1340,13 +1346,13 @@ source: tests/sentry/backup/test_releases.py pk: 1 - fields: alert_rule_trigger: 1 - date_added: '2024-02-08T23:02:49.153Z' + date_added: '2024-02-16T16:45:10.157Z' query_subscription: 1 model: sentry.alertruletriggerexclusion pk: 1 - fields: alert_rule_trigger: 1 - date_added: '2024-02-08T23:02:49.172Z' + date_added: '2024-02-16T16:45:10.169Z' integration_id: null sentry_app_config: null sentry_app_id: null