universal-mcp-applications 0.1.30rc2__py3-none-any.whl → 0.1.36rc2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- universal_mcp/applications/ahrefs/app.py +52 -198
- universal_mcp/applications/airtable/app.py +23 -122
- universal_mcp/applications/apollo/app.py +111 -464
- universal_mcp/applications/asana/app.py +417 -1567
- universal_mcp/applications/aws_s3/app.py +36 -103
- universal_mcp/applications/bill/app.py +546 -1957
- universal_mcp/applications/box/app.py +1068 -3981
- universal_mcp/applications/braze/app.py +364 -1430
- universal_mcp/applications/browser_use/app.py +2 -8
- universal_mcp/applications/cal_com_v2/app.py +207 -625
- universal_mcp/applications/calendly/app.py +61 -200
- universal_mcp/applications/canva/app.py +45 -110
- universal_mcp/applications/clickup/app.py +207 -674
- universal_mcp/applications/coda/app.py +146 -426
- universal_mcp/applications/confluence/app.py +310 -1098
- universal_mcp/applications/contentful/app.py +36 -151
- universal_mcp/applications/crustdata/app.py +28 -107
- universal_mcp/applications/dialpad/app.py +283 -756
- universal_mcp/applications/digitalocean/app.py +1766 -5777
- universal_mcp/applications/domain_checker/app.py +3 -54
- universal_mcp/applications/e2b/app.py +14 -64
- universal_mcp/applications/elevenlabs/app.py +9 -47
- universal_mcp/applications/exa/app.py +6 -17
- universal_mcp/applications/falai/app.py +24 -101
- universal_mcp/applications/figma/app.py +53 -137
- universal_mcp/applications/file_system/app.py +2 -13
- universal_mcp/applications/firecrawl/app.py +51 -152
- universal_mcp/applications/fireflies/app.py +59 -281
- universal_mcp/applications/fpl/app.py +91 -528
- universal_mcp/applications/fpl/utils/fixtures.py +15 -49
- universal_mcp/applications/fpl/utils/helper.py +25 -89
- universal_mcp/applications/fpl/utils/league_utils.py +20 -64
- universal_mcp/applications/ghost_content/app.py +52 -161
- universal_mcp/applications/github/app.py +19 -56
- universal_mcp/applications/gong/app.py +88 -248
- universal_mcp/applications/google_calendar/app.py +16 -68
- universal_mcp/applications/google_docs/app.py +88 -188
- universal_mcp/applications/google_drive/app.py +141 -463
- universal_mcp/applications/google_gemini/app.py +12 -64
- universal_mcp/applications/google_mail/app.py +28 -157
- universal_mcp/applications/google_searchconsole/app.py +15 -48
- universal_mcp/applications/google_sheet/app.py +103 -580
- universal_mcp/applications/google_sheet/helper.py +10 -37
- universal_mcp/applications/hashnode/app.py +57 -269
- universal_mcp/applications/heygen/app.py +44 -122
- universal_mcp/applications/http_tools/app.py +10 -32
- universal_mcp/applications/hubspot/api_segments/crm_api.py +460 -1573
- universal_mcp/applications/hubspot/api_segments/marketing_api.py +74 -262
- universal_mcp/applications/hubspot/app.py +23 -87
- universal_mcp/applications/jira/app.py +2071 -7986
- universal_mcp/applications/klaviyo/app.py +494 -1376
- universal_mcp/applications/linkedin/README.md +9 -2
- universal_mcp/applications/linkedin/app.py +392 -212
- universal_mcp/applications/mailchimp/app.py +450 -1605
- universal_mcp/applications/markitdown/app.py +8 -20
- universal_mcp/applications/miro/app.py +217 -699
- universal_mcp/applications/ms_teams/app.py +64 -186
- universal_mcp/applications/neon/app.py +86 -192
- universal_mcp/applications/notion/app.py +21 -36
- universal_mcp/applications/onedrive/app.py +16 -38
- universal_mcp/applications/openai/app.py +42 -165
- universal_mcp/applications/outlook/app.py +24 -84
- universal_mcp/applications/perplexity/app.py +4 -19
- universal_mcp/applications/pipedrive/app.py +832 -3142
- universal_mcp/applications/posthog/app.py +163 -432
- universal_mcp/applications/reddit/app.py +40 -139
- universal_mcp/applications/resend/app.py +41 -107
- universal_mcp/applications/retell/app.py +14 -41
- universal_mcp/applications/rocketlane/app.py +221 -934
- universal_mcp/applications/scraper/README.md +7 -4
- universal_mcp/applications/scraper/app.py +216 -102
- universal_mcp/applications/semanticscholar/app.py +22 -64
- universal_mcp/applications/semrush/app.py +43 -77
- universal_mcp/applications/sendgrid/app.py +512 -1262
- universal_mcp/applications/sentry/app.py +271 -906
- universal_mcp/applications/serpapi/app.py +40 -143
- universal_mcp/applications/sharepoint/app.py +17 -39
- universal_mcp/applications/shopify/app.py +1551 -4287
- universal_mcp/applications/shortcut/app.py +155 -417
- universal_mcp/applications/slack/app.py +50 -101
- universal_mcp/applications/spotify/app.py +126 -325
- universal_mcp/applications/supabase/app.py +104 -213
- universal_mcp/applications/tavily/app.py +1 -1
- universal_mcp/applications/trello/app.py +693 -2656
- universal_mcp/applications/twilio/app.py +14 -50
- universal_mcp/applications/twitter/api_segments/compliance_api.py +4 -14
- universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +6 -18
- universal_mcp/applications/twitter/api_segments/likes_api.py +1 -3
- universal_mcp/applications/twitter/api_segments/lists_api.py +5 -15
- universal_mcp/applications/twitter/api_segments/trends_api.py +1 -3
- universal_mcp/applications/twitter/api_segments/tweets_api.py +9 -31
- universal_mcp/applications/twitter/api_segments/usage_api.py +1 -5
- universal_mcp/applications/twitter/api_segments/users_api.py +14 -42
- universal_mcp/applications/whatsapp/app.py +35 -186
- universal_mcp/applications/whatsapp/audio.py +2 -6
- universal_mcp/applications/whatsapp/whatsapp.py +17 -51
- universal_mcp/applications/whatsapp_business/app.py +70 -283
- universal_mcp/applications/wrike/app.py +45 -118
- universal_mcp/applications/yahoo_finance/app.py +19 -65
- universal_mcp/applications/youtube/app.py +75 -261
- universal_mcp/applications/zenquotes/app.py +2 -2
- {universal_mcp_applications-0.1.30rc2.dist-info → universal_mcp_applications-0.1.36rc2.dist-info}/METADATA +2 -2
- {universal_mcp_applications-0.1.30rc2.dist-info → universal_mcp_applications-0.1.36rc2.dist-info}/RECORD +105 -105
- {universal_mcp_applications-0.1.30rc2.dist-info → universal_mcp_applications-0.1.36rc2.dist-info}/WHEEL +0 -0
- {universal_mcp_applications-0.1.30rc2.dist-info → universal_mcp_applications-0.1.36rc2.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
from typing import Any
|
|
2
|
-
|
|
3
2
|
from universal_mcp.applications.application import APIApplication
|
|
4
3
|
from universal_mcp.integrations import Integration
|
|
5
4
|
|
|
@@ -9,9 +8,7 @@ class SentryApp(APIApplication):
|
|
|
9
8
|
super().__init__(name="sentry", integration=integration, **kwargs)
|
|
10
9
|
self.base_url = "https://us.sentry.io"
|
|
11
10
|
|
|
12
|
-
def list_your_organizations(
|
|
13
|
-
self, owner=None, cursor=None, query=None, sortBy=None
|
|
14
|
-
) -> list[Any]:
|
|
11
|
+
async def list_your_organizations(self, owner=None, cursor=None, query=None, sortBy=None) -> list[Any]:
|
|
15
12
|
"""
|
|
16
13
|
Retrieves a list of organizations using the "GET" method, allowing filtering by owner, query, and sorting, and requires authentication with admin, read, or write permissions.
|
|
17
14
|
|
|
@@ -28,23 +25,12 @@ class SentryApp(APIApplication):
|
|
|
28
25
|
Users, important
|
|
29
26
|
"""
|
|
30
27
|
url = f"{self.base_url}/api/0/organizations/"
|
|
31
|
-
query_params = {
|
|
32
|
-
k: v
|
|
33
|
-
for k, v in [
|
|
34
|
-
("owner", owner),
|
|
35
|
-
("cursor", cursor),
|
|
36
|
-
("query", query),
|
|
37
|
-
("sortBy", sortBy),
|
|
38
|
-
]
|
|
39
|
-
if v is not None
|
|
40
|
-
}
|
|
28
|
+
query_params = {k: v for k, v in [("owner", owner), ("cursor", cursor), ("query", query), ("sortBy", sortBy)] if v is not None}
|
|
41
29
|
response = self._get(url, params=query_params)
|
|
42
30
|
response.raise_for_status()
|
|
43
31
|
return response.json()
|
|
44
32
|
|
|
45
|
-
def retrieve_an_organization(
|
|
46
|
-
self, organization_id_or_slug, detailed=None
|
|
47
|
-
) -> dict[str, Any]:
|
|
33
|
+
async def retrieve_an_organization(self, organization_id_or_slug, detailed=None) -> dict[str, Any]:
|
|
48
34
|
"""
|
|
49
35
|
Retrieves detailed information about a specified organization by its ID or slug, optionally including extended details, requiring appropriate organizational permissions.
|
|
50
36
|
|
|
@@ -66,7 +52,7 @@ class SentryApp(APIApplication):
|
|
|
66
52
|
response.raise_for_status()
|
|
67
53
|
return response.json()
|
|
68
54
|
|
|
69
|
-
def update_an_organization(
|
|
55
|
+
async def update_an_organization(
|
|
70
56
|
self,
|
|
71
57
|
organization_id_or_slug,
|
|
72
58
|
slug=None,
|
|
@@ -165,7 +151,7 @@ class SentryApp(APIApplication):
|
|
|
165
151
|
Below is an example of a payload for a set of advanced data scrubbing rules for masking credit card numbers from the log message (equivalent to `[Mask] [Credit card numbers] from [$message]` in the Sentry app) and removing a specific key called `foo` (equivalent to `[Remove] [Anything] from [extra.foo]` in the Sentry app):
|
|
166
152
|
```json
|
|
167
153
|
{
|
|
168
|
-
relayPiiConfig: "{
|
|
154
|
+
relayPiiConfig: "{"rules":{"0":{"type":"creditcard","redaction":{"method":"mask"}},"1":{"type":"anything","redaction":{"method":"remove"}}},"applications":{"$message":["0"],"extra.foo":["1"]}}"
|
|
169
155
|
}
|
|
170
156
|
```
|
|
171
157
|
|
|
@@ -240,9 +226,7 @@ class SentryApp(APIApplication):
|
|
|
240
226
|
response.raise_for_status()
|
|
241
227
|
return response.json()
|
|
242
228
|
|
|
243
|
-
def list_an_organization_s_metric_alert_rules(
|
|
244
|
-
self, organization_id_or_slug
|
|
245
|
-
) -> list[Any]:
|
|
229
|
+
async def list_an_organization_s_metric_alert_rules(self, organization_id_or_slug) -> list[Any]:
|
|
246
230
|
"""
|
|
247
231
|
Retrieves the list of alert rules associated with the specified organization and requires appropriate read and organization permissions.
|
|
248
232
|
|
|
@@ -263,7 +247,7 @@ class SentryApp(APIApplication):
|
|
|
263
247
|
response.raise_for_status()
|
|
264
248
|
return response.json()
|
|
265
249
|
|
|
266
|
-
def create_organization_metric_alert_rule(
|
|
250
|
+
async def create_organization_metric_alert_rule(
|
|
267
251
|
self,
|
|
268
252
|
organization_id_or_slug,
|
|
269
253
|
name,
|
|
@@ -391,9 +375,7 @@ class SentryApp(APIApplication):
|
|
|
391
375
|
response.raise_for_status()
|
|
392
376
|
return response.json()
|
|
393
377
|
|
|
394
|
-
def get_organization_metric_alert_rule(
|
|
395
|
-
self, organization_id_or_slug, alert_rule_id
|
|
396
|
-
) -> dict[str, Any]:
|
|
378
|
+
async def get_organization_metric_alert_rule(self, organization_id_or_slug, alert_rule_id) -> dict[str, Any]:
|
|
397
379
|
"""
|
|
398
380
|
Retrieves an alert rule by its ID within a specified organization using the organization's ID or slug.
|
|
399
381
|
|
|
@@ -417,7 +399,7 @@ class SentryApp(APIApplication):
|
|
|
417
399
|
response.raise_for_status()
|
|
418
400
|
return response.json()
|
|
419
401
|
|
|
420
|
-
def update_a_metric_alert_rule(
|
|
402
|
+
async def update_a_metric_alert_rule(
|
|
421
403
|
self,
|
|
422
404
|
organization_id_or_slug,
|
|
423
405
|
alert_rule_id,
|
|
@@ -550,7 +532,7 @@ class SentryApp(APIApplication):
|
|
|
550
532
|
response.raise_for_status()
|
|
551
533
|
return response.json()
|
|
552
534
|
|
|
553
|
-
def delete_a_metric_alert_rule(self, organization_id_or_slug, alert_rule_id) -> Any:
|
|
535
|
+
async def delete_a_metric_alert_rule(self, organization_id_or_slug, alert_rule_id) -> Any:
|
|
554
536
|
"""
|
|
555
537
|
Deletes the specified alert rule for the given organization using the alert rule identifier, returning a 202 Accepted status if the deletion is initiated.
|
|
556
538
|
|
|
@@ -574,9 +556,7 @@ class SentryApp(APIApplication):
|
|
|
574
556
|
response.raise_for_status()
|
|
575
557
|
return response.json()
|
|
576
558
|
|
|
577
|
-
def get_metric_alert_rule_activations(
|
|
578
|
-
self, organization_id_or_slug, alert_rule_id
|
|
579
|
-
) -> list[Any]:
|
|
559
|
+
async def get_metric_alert_rule_activations(self, organization_id_or_slug, alert_rule_id) -> list[Any]:
|
|
580
560
|
"""
|
|
581
561
|
Retrieves a list of activations for a specific alert rule within an organization.
|
|
582
562
|
|
|
@@ -600,9 +580,7 @@ class SentryApp(APIApplication):
|
|
|
600
580
|
response.raise_for_status()
|
|
601
581
|
return response.json()
|
|
602
582
|
|
|
603
|
-
def get_integration_provider_information(
|
|
604
|
-
self, organization_id_or_slug, providerKey=None
|
|
605
|
-
) -> dict[str, Any]:
|
|
583
|
+
async def get_integration_provider_information(self, organization_id_or_slug, providerKey=None) -> dict[str, Any]:
|
|
606
584
|
"""
|
|
607
585
|
Retrieves the list of configured integrations for a specified organization, optionally filtered by provider key, and returns integration details if found.
|
|
608
586
|
|
|
@@ -619,16 +597,12 @@ class SentryApp(APIApplication):
|
|
|
619
597
|
if organization_id_or_slug is None:
|
|
620
598
|
raise ValueError("Missing required parameter 'organization_id_or_slug'")
|
|
621
599
|
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/config/integrations/"
|
|
622
|
-
query_params = {
|
|
623
|
-
k: v for k, v in [("providerKey", providerKey)] if v is not None
|
|
624
|
-
}
|
|
600
|
+
query_params = {k: v for k, v in [("providerKey", providerKey)] if v is not None}
|
|
625
601
|
response = self._get(url, params=query_params)
|
|
626
602
|
response.raise_for_status()
|
|
627
603
|
return response.json()
|
|
628
604
|
|
|
629
|
-
def list_an_organization_s_custom_dashboards(
|
|
630
|
-
self, organization_id_or_slug, per_page=None, cursor=None
|
|
631
|
-
) -> list[Any]:
|
|
605
|
+
async def list_an_organization_s_custom_dashboards(self, organization_id_or_slug, per_page=None, cursor=None) -> list[Any]:
|
|
632
606
|
"""
|
|
633
607
|
Retrieves a list of dashboards for a specified organization using pagination parameters.
|
|
634
608
|
|
|
@@ -645,19 +619,13 @@ class SentryApp(APIApplication):
|
|
|
645
619
|
"""
|
|
646
620
|
if organization_id_or_slug is None:
|
|
647
621
|
raise ValueError("Missing required parameter 'organization_id_or_slug'")
|
|
648
|
-
url =
|
|
649
|
-
|
|
650
|
-
)
|
|
651
|
-
query_params = {
|
|
652
|
-
k: v
|
|
653
|
-
for k, v in [("per_page", per_page), ("cursor", cursor)]
|
|
654
|
-
if v is not None
|
|
655
|
-
}
|
|
622
|
+
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/dashboards/"
|
|
623
|
+
query_params = {k: v for k, v in [("per_page", per_page), ("cursor", cursor)] if v is not None}
|
|
656
624
|
response = self._get(url, params=query_params)
|
|
657
625
|
response.raise_for_status()
|
|
658
626
|
return response.json()
|
|
659
627
|
|
|
660
|
-
def create_a_new_dashboard_for_an_organization(
|
|
628
|
+
async def create_a_new_dashboard_for_an_organization(
|
|
661
629
|
self,
|
|
662
630
|
organization_id_or_slug,
|
|
663
631
|
title,
|
|
@@ -711,17 +679,13 @@ class SentryApp(APIApplication):
|
|
|
711
679
|
"permissions": permissions,
|
|
712
680
|
}
|
|
713
681
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
714
|
-
url =
|
|
715
|
-
f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/dashboards/"
|
|
716
|
-
)
|
|
682
|
+
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/dashboards/"
|
|
717
683
|
query_params = {}
|
|
718
684
|
response = self._post(url, data=request_body, params=query_params)
|
|
719
685
|
response.raise_for_status()
|
|
720
686
|
return response.json()
|
|
721
687
|
|
|
722
|
-
def retrieve_an_organization_s_custom_dashboard(
|
|
723
|
-
self, organization_id_or_slug, dashboard_id
|
|
724
|
-
) -> dict[str, Any]:
|
|
688
|
+
async def retrieve_an_organization_s_custom_dashboard(self, organization_id_or_slug, dashboard_id) -> dict[str, Any]:
|
|
725
689
|
"""
|
|
726
690
|
Retrieves details of a specific dashboard within an organization using its ID or slug and the dashboard ID.
|
|
727
691
|
|
|
@@ -745,7 +709,7 @@ class SentryApp(APIApplication):
|
|
|
745
709
|
response.raise_for_status()
|
|
746
710
|
return response.json()
|
|
747
711
|
|
|
748
|
-
def edit_an_organization_s_custom_dashboard(
|
|
712
|
+
async def edit_an_organization_s_custom_dashboard(
|
|
749
713
|
self,
|
|
750
714
|
organization_id_or_slug,
|
|
751
715
|
dashboard_id,
|
|
@@ -809,9 +773,7 @@ class SentryApp(APIApplication):
|
|
|
809
773
|
response.raise_for_status()
|
|
810
774
|
return response.json()
|
|
811
775
|
|
|
812
|
-
def delete_an_organization_s_custom_dashboard(
|
|
813
|
-
self, organization_id_or_slug, dashboard_id
|
|
814
|
-
) -> Any:
|
|
776
|
+
async def delete_an_organization_s_custom_dashboard(self, organization_id_or_slug, dashboard_id) -> Any:
|
|
815
777
|
"""
|
|
816
778
|
Deletes a specific dashboard in an organization using the provided organization ID or slug and dashboard ID, requiring authentication with admin or write permissions.
|
|
817
779
|
|
|
@@ -835,13 +797,8 @@ class SentryApp(APIApplication):
|
|
|
835
797
|
response.raise_for_status()
|
|
836
798
|
return response.json()
|
|
837
799
|
|
|
838
|
-
def list_an_organization_s_discover_saved_queries(
|
|
839
|
-
self,
|
|
840
|
-
organization_id_or_slug,
|
|
841
|
-
per_page=None,
|
|
842
|
-
cursor=None,
|
|
843
|
-
query=None,
|
|
844
|
-
sortBy=None,
|
|
800
|
+
async def list_an_organization_s_discover_saved_queries(
|
|
801
|
+
self, organization_id_or_slug, per_page=None, cursor=None, query=None, sortBy=None
|
|
845
802
|
) -> list[Any]:
|
|
846
803
|
"""
|
|
847
804
|
Retrieves a list of saved discoveries for an organization, allowing filtering by query, sorting, and pagination.
|
|
@@ -863,20 +820,13 @@ class SentryApp(APIApplication):
|
|
|
863
820
|
raise ValueError("Missing required parameter 'organization_id_or_slug'")
|
|
864
821
|
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/discover/saved/"
|
|
865
822
|
query_params = {
|
|
866
|
-
k: v
|
|
867
|
-
for k, v in [
|
|
868
|
-
("per_page", per_page),
|
|
869
|
-
("cursor", cursor),
|
|
870
|
-
("query", query),
|
|
871
|
-
("sortBy", sortBy),
|
|
872
|
-
]
|
|
873
|
-
if v is not None
|
|
823
|
+
k: v for k, v in [("per_page", per_page), ("cursor", cursor), ("query", query), ("sortBy", sortBy)] if v is not None
|
|
874
824
|
}
|
|
875
825
|
response = self._get(url, params=query_params)
|
|
876
826
|
response.raise_for_status()
|
|
877
827
|
return response.json()
|
|
878
828
|
|
|
879
|
-
def create_a_new_saved_query(
|
|
829
|
+
async def create_a_new_saved_query(
|
|
880
830
|
self,
|
|
881
831
|
organization_id_or_slug,
|
|
882
832
|
name,
|
|
@@ -969,9 +919,7 @@ class SentryApp(APIApplication):
|
|
|
969
919
|
response.raise_for_status()
|
|
970
920
|
return response.json()
|
|
971
921
|
|
|
972
|
-
def retrieve_an_organization_s_discover_saved_query(
|
|
973
|
-
self, organization_id_or_slug, query_id
|
|
974
|
-
) -> dict[str, Any]:
|
|
922
|
+
async def retrieve_an_organization_s_discover_saved_query(self, organization_id_or_slug, query_id) -> dict[str, Any]:
|
|
975
923
|
"""
|
|
976
924
|
Retrieves saved discovery data for a specified query within an organization using the provided organization ID or slug and query ID.
|
|
977
925
|
|
|
@@ -995,7 +943,7 @@ class SentryApp(APIApplication):
|
|
|
995
943
|
response.raise_for_status()
|
|
996
944
|
return response.json()
|
|
997
945
|
|
|
998
|
-
def edit_organization_discover_saved_query(
|
|
946
|
+
async def edit_organization_discover_saved_query(
|
|
999
947
|
self,
|
|
1000
948
|
organization_id_or_slug,
|
|
1001
949
|
query_id,
|
|
@@ -1092,9 +1040,7 @@ class SentryApp(APIApplication):
|
|
|
1092
1040
|
response.raise_for_status()
|
|
1093
1041
|
return response.json()
|
|
1094
1042
|
|
|
1095
|
-
def delete_organization_discover_saved_query(
|
|
1096
|
-
self, organization_id_or_slug, query_id
|
|
1097
|
-
) -> Any:
|
|
1043
|
+
async def delete_organization_discover_saved_query(self, organization_id_or_slug, query_id) -> Any:
|
|
1098
1044
|
"""
|
|
1099
1045
|
Deletes a saved query for a specified organization and query ID, returning a 204 (No Content) on success.
|
|
1100
1046
|
|
|
@@ -1118,9 +1064,7 @@ class SentryApp(APIApplication):
|
|
|
1118
1064
|
response.raise_for_status()
|
|
1119
1065
|
return response.json()
|
|
1120
1066
|
|
|
1121
|
-
def list_an_organization_s_environments(
|
|
1122
|
-
self, organization_id_or_slug, visibility=None
|
|
1123
|
-
) -> list[Any]:
|
|
1067
|
+
async def list_an_organization_s_environments(self, organization_id_or_slug, visibility=None) -> list[Any]:
|
|
1124
1068
|
"""
|
|
1125
1069
|
Lists all environments for a specified organization, optionally filtered by visibility, when authenticated with sufficient permissions.
|
|
1126
1070
|
|
|
@@ -1142,7 +1086,7 @@ class SentryApp(APIApplication):
|
|
|
1142
1086
|
response.raise_for_status()
|
|
1143
1087
|
return response.json()
|
|
1144
1088
|
|
|
1145
|
-
def query_discover_events_in_table_format(
|
|
1089
|
+
async def query_discover_events_in_table_format(
|
|
1146
1090
|
self,
|
|
1147
1091
|
organization_id_or_slug,
|
|
1148
1092
|
field,
|
|
@@ -1198,15 +1142,8 @@ class SentryApp(APIApplication):
|
|
|
1198
1142
|
response.raise_for_status()
|
|
1199
1143
|
return response.json()
|
|
1200
1144
|
|
|
1201
|
-
def create_an_external_user(
|
|
1202
|
-
self,
|
|
1203
|
-
organization_id_or_slug,
|
|
1204
|
-
user_id,
|
|
1205
|
-
external_name,
|
|
1206
|
-
provider,
|
|
1207
|
-
integration_id,
|
|
1208
|
-
id,
|
|
1209
|
-
external_id=None,
|
|
1145
|
+
async def create_an_external_user(
|
|
1146
|
+
self, organization_id_or_slug, user_id, external_name, provider, integration_id, id, external_id=None
|
|
1210
1147
|
) -> dict[str, Any]:
|
|
1211
1148
|
"""
|
|
1212
1149
|
Links a user from an external provider to a Sentry user within the specified organization and returns the external user resource.
|
|
@@ -1250,16 +1187,8 @@ class SentryApp(APIApplication):
|
|
|
1250
1187
|
response.raise_for_status()
|
|
1251
1188
|
return response.json()
|
|
1252
1189
|
|
|
1253
|
-
def update_an_external_user(
|
|
1254
|
-
self,
|
|
1255
|
-
organization_id_or_slug,
|
|
1256
|
-
external_user_id,
|
|
1257
|
-
user_id,
|
|
1258
|
-
external_name,
|
|
1259
|
-
provider,
|
|
1260
|
-
integration_id,
|
|
1261
|
-
id,
|
|
1262
|
-
external_id=None,
|
|
1190
|
+
async def update_an_external_user(
|
|
1191
|
+
self, organization_id_or_slug, external_user_id, user_id, external_name, provider, integration_id, id, external_id=None
|
|
1263
1192
|
) -> dict[str, Any]:
|
|
1264
1193
|
"""
|
|
1265
1194
|
Updates the details of a specified external user within an organization using the provided request body.
|
|
@@ -1306,7 +1235,7 @@ class SentryApp(APIApplication):
|
|
|
1306
1235
|
response.raise_for_status()
|
|
1307
1236
|
return response.json()
|
|
1308
1237
|
|
|
1309
|
-
def delete_an_external_user(self, organization_id_or_slug, external_user_id) -> Any:
|
|
1238
|
+
async def delete_an_external_user(self, organization_id_or_slug, external_user_id) -> Any:
|
|
1310
1239
|
"""
|
|
1311
1240
|
Removes an external user from an organization using the organization ID or slug and the external user ID.
|
|
1312
1241
|
|
|
@@ -1330,12 +1259,8 @@ class SentryApp(APIApplication):
|
|
|
1330
1259
|
response.raise_for_status()
|
|
1331
1260
|
return response.json()
|
|
1332
1261
|
|
|
1333
|
-
def list_organization_available_integrations(
|
|
1334
|
-
self,
|
|
1335
|
-
organization_id_or_slug,
|
|
1336
|
-
providerKey=None,
|
|
1337
|
-
features=None,
|
|
1338
|
-
includeConfig=None,
|
|
1262
|
+
async def list_organization_available_integrations(
|
|
1263
|
+
self, organization_id_or_slug, providerKey=None, features=None, includeConfig=None
|
|
1339
1264
|
) -> list[Any]:
|
|
1340
1265
|
"""
|
|
1341
1266
|
Retrieves a list of integrations for a specified organization using the provided organization ID or slug, allowing optional filtering by provider key, features, and configuration inclusion.
|
|
@@ -1356,21 +1281,13 @@ class SentryApp(APIApplication):
|
|
|
1356
1281
|
raise ValueError("Missing required parameter 'organization_id_or_slug'")
|
|
1357
1282
|
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/integrations/"
|
|
1358
1283
|
query_params = {
|
|
1359
|
-
k: v
|
|
1360
|
-
for k, v in [
|
|
1361
|
-
("providerKey", providerKey),
|
|
1362
|
-
("features", features),
|
|
1363
|
-
("includeConfig", includeConfig),
|
|
1364
|
-
]
|
|
1365
|
-
if v is not None
|
|
1284
|
+
k: v for k, v in [("providerKey", providerKey), ("features", features), ("includeConfig", includeConfig)] if v is not None
|
|
1366
1285
|
}
|
|
1367
1286
|
response = self._get(url, params=query_params)
|
|
1368
1287
|
response.raise_for_status()
|
|
1369
1288
|
return response.json()
|
|
1370
1289
|
|
|
1371
|
-
def get_organization_integration(
|
|
1372
|
-
self, organization_id_or_slug, integration_id
|
|
1373
|
-
) -> dict[str, Any]:
|
|
1290
|
+
async def get_organization_integration(self, organization_id_or_slug, integration_id) -> dict[str, Any]:
|
|
1374
1291
|
"""
|
|
1375
1292
|
Retrieves details for a specific integration within an organization using its ID or slug.
|
|
1376
1293
|
|
|
@@ -1394,9 +1311,7 @@ class SentryApp(APIApplication):
|
|
|
1394
1311
|
response.raise_for_status()
|
|
1395
1312
|
return response.json()
|
|
1396
1313
|
|
|
1397
|
-
def delete_organization_integration(
|
|
1398
|
-
self, organization_id_or_slug, integration_id
|
|
1399
|
-
) -> Any:
|
|
1314
|
+
async def delete_organization_integration(self, organization_id_or_slug, integration_id) -> Any:
|
|
1400
1315
|
"""
|
|
1401
1316
|
Deletes an integration from an organization using the provided organization ID or slug and integration ID, returning a 204 status code upon successful deletion.
|
|
1402
1317
|
|
|
@@ -1420,7 +1335,7 @@ class SentryApp(APIApplication):
|
|
|
1420
1335
|
response.raise_for_status()
|
|
1421
1336
|
return response.json()
|
|
1422
1337
|
|
|
1423
|
-
def list_an_organization_s_members(self, organization_id_or_slug) -> list[Any]:
|
|
1338
|
+
async def list_an_organization_s_members(self, organization_id_or_slug) -> list[Any]:
|
|
1424
1339
|
"""
|
|
1425
1340
|
Retrieves a list of members belonging to a specified organization, with access controlled by member-specific permissions.
|
|
1426
1341
|
|
|
@@ -1441,14 +1356,8 @@ class SentryApp(APIApplication):
|
|
|
1441
1356
|
response.raise_for_status()
|
|
1442
1357
|
return response.json()
|
|
1443
1358
|
|
|
1444
|
-
def add_a_member_to_an_organization(
|
|
1445
|
-
self,
|
|
1446
|
-
organization_id_or_slug,
|
|
1447
|
-
email,
|
|
1448
|
-
orgRole=None,
|
|
1449
|
-
teamRoles=None,
|
|
1450
|
-
sendInvite=None,
|
|
1451
|
-
reinvite=None,
|
|
1359
|
+
async def add_a_member_to_an_organization(
|
|
1360
|
+
self, organization_id_or_slug, email, orgRole=None, teamRoles=None, sendInvite=None, reinvite=None
|
|
1452
1361
|
) -> dict[str, Any]:
|
|
1453
1362
|
"""
|
|
1454
1363
|
Invites a new member to the specified organization by creating their membership with the provided details.
|
|
@@ -1483,13 +1392,7 @@ class SentryApp(APIApplication):
|
|
|
1483
1392
|
"""
|
|
1484
1393
|
if organization_id_or_slug is None:
|
|
1485
1394
|
raise ValueError("Missing required parameter 'organization_id_or_slug'")
|
|
1486
|
-
request_body = {
|
|
1487
|
-
"email": email,
|
|
1488
|
-
"orgRole": orgRole,
|
|
1489
|
-
"teamRoles": teamRoles,
|
|
1490
|
-
"sendInvite": sendInvite,
|
|
1491
|
-
"reinvite": reinvite,
|
|
1492
|
-
}
|
|
1395
|
+
request_body = {"email": email, "orgRole": orgRole, "teamRoles": teamRoles, "sendInvite": sendInvite, "reinvite": reinvite}
|
|
1493
1396
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1494
1397
|
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/members/"
|
|
1495
1398
|
query_params = {}
|
|
@@ -1497,9 +1400,7 @@ class SentryApp(APIApplication):
|
|
|
1497
1400
|
response.raise_for_status()
|
|
1498
1401
|
return response.json()
|
|
1499
1402
|
|
|
1500
|
-
def retrieve_an_organization_member(
|
|
1501
|
-
self, organization_id_or_slug, member_id
|
|
1502
|
-
) -> dict[str, Any]:
|
|
1403
|
+
async def retrieve_an_organization_member(self, organization_id_or_slug, member_id) -> dict[str, Any]:
|
|
1503
1404
|
"""
|
|
1504
1405
|
Retrieves information about a specific member in an organization using the provided organization ID or slug and member ID.
|
|
1505
1406
|
|
|
@@ -1523,7 +1424,7 @@ class SentryApp(APIApplication):
|
|
|
1523
1424
|
response.raise_for_status()
|
|
1524
1425
|
return response.json()
|
|
1525
1426
|
|
|
1526
|
-
def update_an_organization_member_s_roles(
|
|
1427
|
+
async def update_an_organization_member_s_roles(
|
|
1527
1428
|
self, organization_id_or_slug, member_id, orgRole=None, teamRoles=None
|
|
1528
1429
|
) -> dict[str, Any]:
|
|
1529
1430
|
"""
|
|
@@ -1575,10 +1476,7 @@ class SentryApp(APIApplication):
|
|
|
1575
1476
|
raise ValueError("Missing required parameter 'organization_id_or_slug'")
|
|
1576
1477
|
if member_id is None:
|
|
1577
1478
|
raise ValueError("Missing required parameter 'member_id'")
|
|
1578
|
-
request_body = {
|
|
1579
|
-
"orgRole": orgRole,
|
|
1580
|
-
"teamRoles": teamRoles,
|
|
1581
|
-
}
|
|
1479
|
+
request_body = {"orgRole": orgRole, "teamRoles": teamRoles}
|
|
1582
1480
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1583
1481
|
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/members/{member_id}/"
|
|
1584
1482
|
query_params = {}
|
|
@@ -1586,7 +1484,7 @@ class SentryApp(APIApplication):
|
|
|
1586
1484
|
response.raise_for_status()
|
|
1587
1485
|
return response.json()
|
|
1588
1486
|
|
|
1589
|
-
def delete_an_organization_member(self, organization_id_or_slug, member_id) -> Any:
|
|
1487
|
+
async def delete_an_organization_member(self, organization_id_or_slug, member_id) -> Any:
|
|
1590
1488
|
"""
|
|
1591
1489
|
Deletes a member from an organization using the provided organization ID or slug and member ID.
|
|
1592
1490
|
|
|
@@ -1610,9 +1508,7 @@ class SentryApp(APIApplication):
|
|
|
1610
1508
|
response.raise_for_status()
|
|
1611
1509
|
return response.json()
|
|
1612
1510
|
|
|
1613
|
-
def add_an_organization_member_to_a_team(
|
|
1614
|
-
self, organization_id_or_slug, member_id, team_id_or_slug
|
|
1615
|
-
) -> dict[str, Any]:
|
|
1511
|
+
async def add_an_organization_member_to_a_team(self, organization_id_or_slug, member_id, team_id_or_slug) -> dict[str, Any]:
|
|
1616
1512
|
"""
|
|
1617
1513
|
Adds a member to a specified team within an organization.
|
|
1618
1514
|
|
|
@@ -1639,7 +1535,7 @@ class SentryApp(APIApplication):
|
|
|
1639
1535
|
response.raise_for_status()
|
|
1640
1536
|
return response.json()
|
|
1641
1537
|
|
|
1642
|
-
def update_an_organization_member_s_team_role(
|
|
1538
|
+
async def update_an_organization_member_s_team_role(
|
|
1643
1539
|
self, organization_id_or_slug, member_id, team_id_or_slug, teamRole=None
|
|
1644
1540
|
) -> dict[str, Any]:
|
|
1645
1541
|
"""
|
|
@@ -1666,9 +1562,7 @@ class SentryApp(APIApplication):
|
|
|
1666
1562
|
raise ValueError("Missing required parameter 'member_id'")
|
|
1667
1563
|
if team_id_or_slug is None:
|
|
1668
1564
|
raise ValueError("Missing required parameter 'team_id_or_slug'")
|
|
1669
|
-
request_body = {
|
|
1670
|
-
"teamRole": teamRole,
|
|
1671
|
-
}
|
|
1565
|
+
request_body = {"teamRole": teamRole}
|
|
1672
1566
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1673
1567
|
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/members/{member_id}/teams/{team_id_or_slug}/"
|
|
1674
1568
|
query_params = {}
|
|
@@ -1676,9 +1570,7 @@ class SentryApp(APIApplication):
|
|
|
1676
1570
|
response.raise_for_status()
|
|
1677
1571
|
return response.json()
|
|
1678
1572
|
|
|
1679
|
-
def delete_an_organization_member_from_a_team(
|
|
1680
|
-
self, organization_id_or_slug, member_id, team_id_or_slug
|
|
1681
|
-
) -> dict[str, Any]:
|
|
1573
|
+
async def delete_an_organization_member_from_a_team(self, organization_id_or_slug, member_id, team_id_or_slug) -> dict[str, Any]:
|
|
1682
1574
|
"""
|
|
1683
1575
|
Removes a member from a specific team in an organization using the provided organization ID or slug, member ID, and team ID or slug.
|
|
1684
1576
|
|
|
@@ -1705,9 +1597,7 @@ class SentryApp(APIApplication):
|
|
|
1705
1597
|
response.raise_for_status()
|
|
1706
1598
|
return response.json()
|
|
1707
1599
|
|
|
1708
|
-
def retrieve_monitors_for_an_organization(
|
|
1709
|
-
self, organization_id_or_slug, project=None, environment=None, owner=None
|
|
1710
|
-
) -> list[Any]:
|
|
1600
|
+
async def retrieve_monitors_for_an_organization(self, organization_id_or_slug, project=None, environment=None, owner=None) -> list[Any]:
|
|
1711
1601
|
"""
|
|
1712
1602
|
Retrieves a list of monitors for an organization using the provided organization ID or slug, with optional filtering by project, environment, and owner.
|
|
1713
1603
|
|
|
@@ -1726,28 +1616,13 @@ class SentryApp(APIApplication):
|
|
|
1726
1616
|
if organization_id_or_slug is None:
|
|
1727
1617
|
raise ValueError("Missing required parameter 'organization_id_or_slug'")
|
|
1728
1618
|
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/monitors/"
|
|
1729
|
-
query_params = {
|
|
1730
|
-
k: v
|
|
1731
|
-
for k, v in [
|
|
1732
|
-
("project", project),
|
|
1733
|
-
("environment", environment),
|
|
1734
|
-
("owner", owner),
|
|
1735
|
-
]
|
|
1736
|
-
if v is not None
|
|
1737
|
-
}
|
|
1619
|
+
query_params = {k: v for k, v in [("project", project), ("environment", environment), ("owner", owner)] if v is not None}
|
|
1738
1620
|
response = self._get(url, params=query_params)
|
|
1739
1621
|
response.raise_for_status()
|
|
1740
1622
|
return response.json()
|
|
1741
1623
|
|
|
1742
|
-
def create_a_monitor(
|
|
1743
|
-
self,
|
|
1744
|
-
organization_id_or_slug,
|
|
1745
|
-
name,
|
|
1746
|
-
type,
|
|
1747
|
-
slug=None,
|
|
1748
|
-
status=None,
|
|
1749
|
-
owner=None,
|
|
1750
|
-
is_muted=None,
|
|
1624
|
+
async def create_a_monitor(
|
|
1625
|
+
self, organization_id_or_slug, name, type, slug=None, status=None, owner=None, is_muted=None
|
|
1751
1626
|
) -> dict[str, Any]:
|
|
1752
1627
|
"""
|
|
1753
1628
|
Creates a new monitor for an organization using the provided JSON body and returns a status message, requiring authentication with permissions to read or write within the organization.
|
|
@@ -1772,14 +1647,7 @@ class SentryApp(APIApplication):
|
|
|
1772
1647
|
"""
|
|
1773
1648
|
if organization_id_or_slug is None:
|
|
1774
1649
|
raise ValueError("Missing required parameter 'organization_id_or_slug'")
|
|
1775
|
-
request_body = {
|
|
1776
|
-
"name": name,
|
|
1777
|
-
"type": type,
|
|
1778
|
-
"slug": slug,
|
|
1779
|
-
"status": status,
|
|
1780
|
-
"owner": owner,
|
|
1781
|
-
"is_muted": is_muted,
|
|
1782
|
-
}
|
|
1650
|
+
request_body = {"name": name, "type": type, "slug": slug, "status": status, "owner": owner, "is_muted": is_muted}
|
|
1783
1651
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1784
1652
|
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/monitors/"
|
|
1785
1653
|
query_params = {}
|
|
@@ -1787,9 +1655,7 @@ class SentryApp(APIApplication):
|
|
|
1787
1655
|
response.raise_for_status()
|
|
1788
1656
|
return response.json()
|
|
1789
1657
|
|
|
1790
|
-
def retrieve_a_monitor(
|
|
1791
|
-
self, organization_id_or_slug, monitor_id_or_slug, environment=None
|
|
1792
|
-
) -> dict[str, Any]:
|
|
1658
|
+
async def retrieve_a_monitor(self, organization_id_or_slug, monitor_id_or_slug, environment=None) -> dict[str, Any]:
|
|
1793
1659
|
"""
|
|
1794
1660
|
Retrieves details about a specific monitor in an organization based on the provided organization ID or slug and monitor ID or slug, optionally filtered by environment.
|
|
1795
1661
|
|
|
@@ -1809,23 +1675,13 @@ class SentryApp(APIApplication):
|
|
|
1809
1675
|
if monitor_id_or_slug is None:
|
|
1810
1676
|
raise ValueError("Missing required parameter 'monitor_id_or_slug'")
|
|
1811
1677
|
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/monitors/{monitor_id_or_slug}/"
|
|
1812
|
-
query_params = {
|
|
1813
|
-
k: v for k, v in [("environment", environment)] if v is not None
|
|
1814
|
-
}
|
|
1678
|
+
query_params = {k: v for k, v in [("environment", environment)] if v is not None}
|
|
1815
1679
|
response = self._get(url, params=query_params)
|
|
1816
1680
|
response.raise_for_status()
|
|
1817
1681
|
return response.json()
|
|
1818
1682
|
|
|
1819
|
-
def update_a_monitor(
|
|
1820
|
-
self,
|
|
1821
|
-
organization_id_or_slug,
|
|
1822
|
-
monitor_id_or_slug,
|
|
1823
|
-
name,
|
|
1824
|
-
type,
|
|
1825
|
-
slug=None,
|
|
1826
|
-
status=None,
|
|
1827
|
-
owner=None,
|
|
1828
|
-
is_muted=None,
|
|
1683
|
+
async def update_a_monitor(
|
|
1684
|
+
self, organization_id_or_slug, monitor_id_or_slug, name, type, slug=None, status=None, owner=None, is_muted=None
|
|
1829
1685
|
) -> dict[str, Any]:
|
|
1830
1686
|
"""
|
|
1831
1687
|
Updates the specified monitor within the given organization by replacing its configuration using the provided JSON data.
|
|
@@ -1853,14 +1709,7 @@ class SentryApp(APIApplication):
|
|
|
1853
1709
|
raise ValueError("Missing required parameter 'organization_id_or_slug'")
|
|
1854
1710
|
if monitor_id_or_slug is None:
|
|
1855
1711
|
raise ValueError("Missing required parameter 'monitor_id_or_slug'")
|
|
1856
|
-
request_body = {
|
|
1857
|
-
"name": name,
|
|
1858
|
-
"type": type,
|
|
1859
|
-
"slug": slug,
|
|
1860
|
-
"status": status,
|
|
1861
|
-
"owner": owner,
|
|
1862
|
-
"is_muted": is_muted,
|
|
1863
|
-
}
|
|
1712
|
+
request_body = {"name": name, "type": type, "slug": slug, "status": status, "owner": owner, "is_muted": is_muted}
|
|
1864
1713
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1865
1714
|
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/monitors/{monitor_id_or_slug}/"
|
|
1866
1715
|
query_params = {}
|
|
@@ -1868,9 +1717,7 @@ class SentryApp(APIApplication):
|
|
|
1868
1717
|
response.raise_for_status()
|
|
1869
1718
|
return response.json()
|
|
1870
1719
|
|
|
1871
|
-
def delete_a_monitor_or_monitor_environments(
|
|
1872
|
-
self, organization_id_or_slug, monitor_id_or_slug, environment=None
|
|
1873
|
-
) -> Any:
|
|
1720
|
+
async def delete_a_monitor_or_monitor_environments(self, organization_id_or_slug, monitor_id_or_slug, environment=None) -> Any:
|
|
1874
1721
|
"""
|
|
1875
1722
|
Deletes a monitor from a specified organization in an API, identified by organization ID or slug and monitor ID or slug, with optional environment parameters.
|
|
1876
1723
|
|
|
@@ -1890,16 +1737,12 @@ class SentryApp(APIApplication):
|
|
|
1890
1737
|
if monitor_id_or_slug is None:
|
|
1891
1738
|
raise ValueError("Missing required parameter 'monitor_id_or_slug'")
|
|
1892
1739
|
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/monitors/{monitor_id_or_slug}/"
|
|
1893
|
-
query_params = {
|
|
1894
|
-
k: v for k, v in [("environment", environment)] if v is not None
|
|
1895
|
-
}
|
|
1740
|
+
query_params = {k: v for k, v in [("environment", environment)] if v is not None}
|
|
1896
1741
|
response = self._delete(url, params=query_params)
|
|
1897
1742
|
response.raise_for_status()
|
|
1898
1743
|
return response.json()
|
|
1899
1744
|
|
|
1900
|
-
def retrieve_check_ins_for_a_monitor(
|
|
1901
|
-
self, organization_id_or_slug, monitor_id_or_slug
|
|
1902
|
-
) -> list[Any]:
|
|
1745
|
+
async def retrieve_check_ins_for_a_monitor(self, organization_id_or_slug, monitor_id_or_slug) -> list[Any]:
|
|
1903
1746
|
"""
|
|
1904
1747
|
Retrieves check-ins for a specific monitor within an organization using the provided organization ID or slug and monitor ID or slug.
|
|
1905
1748
|
|
|
@@ -1923,12 +1766,8 @@ class SentryApp(APIApplication):
|
|
|
1923
1766
|
response.raise_for_status()
|
|
1924
1767
|
return response.json()
|
|
1925
1768
|
|
|
1926
|
-
def list_spike_protection_notifications(
|
|
1927
|
-
self,
|
|
1928
|
-
organization_id_or_slug,
|
|
1929
|
-
project=None,
|
|
1930
|
-
project_id_or_slug=None,
|
|
1931
|
-
triggerType=None,
|
|
1769
|
+
async def list_spike_protection_notifications(
|
|
1770
|
+
self, organization_id_or_slug, project=None, project_id_or_slug=None, triggerType=None
|
|
1932
1771
|
) -> dict[str, Any]:
|
|
1933
1772
|
"""
|
|
1934
1773
|
Retrieves a list of notification actions available for the specified organization, optionally filtered by project or trigger type.
|
|
@@ -1950,18 +1789,14 @@ class SentryApp(APIApplication):
|
|
|
1950
1789
|
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/notifications/actions/"
|
|
1951
1790
|
query_params = {
|
|
1952
1791
|
k: v
|
|
1953
|
-
for k, v in [
|
|
1954
|
-
("project", project),
|
|
1955
|
-
("project_id_or_slug", project_id_or_slug),
|
|
1956
|
-
("triggerType", triggerType),
|
|
1957
|
-
]
|
|
1792
|
+
for k, v in [("project", project), ("project_id_or_slug", project_id_or_slug), ("triggerType", triggerType)]
|
|
1958
1793
|
if v is not None
|
|
1959
1794
|
}
|
|
1960
1795
|
response = self._get(url, params=query_params)
|
|
1961
1796
|
response.raise_for_status()
|
|
1962
1797
|
return response.json()
|
|
1963
1798
|
|
|
1964
|
-
def create_spike_protection_notification(
|
|
1799
|
+
async def create_spike_protection_notification(
|
|
1965
1800
|
self,
|
|
1966
1801
|
organization_id_or_slug,
|
|
1967
1802
|
trigger_type,
|
|
@@ -2023,9 +1858,7 @@ class SentryApp(APIApplication):
|
|
|
2023
1858
|
response.raise_for_status()
|
|
2024
1859
|
return response.json()
|
|
2025
1860
|
|
|
2026
|
-
def retrieve_a_spike_protection_notification_action(
|
|
2027
|
-
self, organization_id_or_slug, action_id
|
|
2028
|
-
) -> dict[str, Any]:
|
|
1861
|
+
async def retrieve_a_spike_protection_notification_action(self, organization_id_or_slug, action_id) -> dict[str, Any]:
|
|
2029
1862
|
"""
|
|
2030
1863
|
Retrieves information about a specific notification action for an organization using the provided organization identifier or slug and action ID.
|
|
2031
1864
|
|
|
@@ -2049,7 +1882,7 @@ class SentryApp(APIApplication):
|
|
|
2049
1882
|
response.raise_for_status()
|
|
2050
1883
|
return response.json()
|
|
2051
1884
|
|
|
2052
|
-
def update_a_spike_protection_notification_action(
|
|
1885
|
+
async def update_a_spike_protection_notification_action(
|
|
2053
1886
|
self,
|
|
2054
1887
|
organization_id_or_slug,
|
|
2055
1888
|
action_id,
|
|
@@ -2115,9 +1948,7 @@ class SentryApp(APIApplication):
|
|
|
2115
1948
|
response.raise_for_status()
|
|
2116
1949
|
return response.json()
|
|
2117
1950
|
|
|
2118
|
-
def delete_a_spike_protection_notification_action(
|
|
2119
|
-
self, organization_id_or_slug, action_id
|
|
2120
|
-
) -> Any:
|
|
1951
|
+
async def delete_a_spike_protection_notification_action(self, organization_id_or_slug, action_id) -> Any:
|
|
2121
1952
|
"""
|
|
2122
1953
|
Deletes a notification action by its ID for a specific organization identified by its ID or slug, using the provided authentication token with appropriate permissions.
|
|
2123
1954
|
|
|
@@ -2141,9 +1972,7 @@ class SentryApp(APIApplication):
|
|
|
2141
1972
|
response.raise_for_status()
|
|
2142
1973
|
return response.json()
|
|
2143
1974
|
|
|
2144
|
-
def list_an_organization_s_projects(
|
|
2145
|
-
self, organization_id_or_slug, cursor=None
|
|
2146
|
-
) -> list[Any]:
|
|
1975
|
+
async def list_an_organization_s_projects(self, organization_id_or_slug, cursor=None) -> list[Any]:
|
|
2147
1976
|
"""
|
|
2148
1977
|
Retrieves a paginated list of projects within the specified organization identified by its ID or slug.
|
|
2149
1978
|
|
|
@@ -2165,9 +1994,7 @@ class SentryApp(APIApplication):
|
|
|
2165
1994
|
response.raise_for_status()
|
|
2166
1995
|
return response.json()
|
|
2167
1996
|
|
|
2168
|
-
def list_an_organization_s_trusted_relays(
|
|
2169
|
-
self, organization_id_or_slug
|
|
2170
|
-
) -> list[Any]:
|
|
1997
|
+
async def list_an_organization_s_trusted_relays(self, organization_id_or_slug) -> list[Any]:
|
|
2171
1998
|
"""
|
|
2172
1999
|
Retrieves relay usage information for a specified organization using its ID or slug, requiring appropriate authentication tokens for administrative or read access.
|
|
2173
2000
|
|
|
@@ -2188,14 +2015,8 @@ class SentryApp(APIApplication):
|
|
|
2188
2015
|
response.raise_for_status()
|
|
2189
2016
|
return response.json()
|
|
2190
2017
|
|
|
2191
|
-
def get_release_threshold_statuses(
|
|
2192
|
-
self,
|
|
2193
|
-
organization_id_or_slug,
|
|
2194
|
-
start,
|
|
2195
|
-
end,
|
|
2196
|
-
environment=None,
|
|
2197
|
-
projectSlug=None,
|
|
2198
|
-
release=None,
|
|
2018
|
+
async def get_release_threshold_statuses(
|
|
2019
|
+
self, organization_id_or_slug, start, end, environment=None, projectSlug=None, release=None
|
|
2199
2020
|
) -> dict[str, Any]:
|
|
2200
2021
|
"""
|
|
2201
2022
|
Retrieves the current statuses of release thresholds for a specified organization within a given time range, optionally filtered by environment, project, or release.
|
|
@@ -2219,20 +2040,14 @@ class SentryApp(APIApplication):
|
|
|
2219
2040
|
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/release-threshold-statuses/"
|
|
2220
2041
|
query_params = {
|
|
2221
2042
|
k: v
|
|
2222
|
-
for k, v in [
|
|
2223
|
-
("start", start),
|
|
2224
|
-
("end", end),
|
|
2225
|
-
("environment", environment),
|
|
2226
|
-
("projectSlug", projectSlug),
|
|
2227
|
-
("release", release),
|
|
2228
|
-
]
|
|
2043
|
+
for k, v in [("start", start), ("end", end), ("environment", environment), ("projectSlug", projectSlug), ("release", release)]
|
|
2229
2044
|
if v is not None
|
|
2230
2045
|
}
|
|
2231
2046
|
response = self._get(url, params=query_params)
|
|
2232
2047
|
response.raise_for_status()
|
|
2233
2048
|
return response.json()
|
|
2234
2049
|
|
|
2235
|
-
def retrieve_an_organization_s_release(
|
|
2050
|
+
async def retrieve_an_organization_s_release(
|
|
2236
2051
|
self,
|
|
2237
2052
|
organization_id_or_slug,
|
|
2238
2053
|
version,
|
|
@@ -2289,15 +2104,8 @@ class SentryApp(APIApplication):
|
|
|
2289
2104
|
response.raise_for_status()
|
|
2290
2105
|
return response.json()
|
|
2291
2106
|
|
|
2292
|
-
def update_an_organization_s_release(
|
|
2293
|
-
self,
|
|
2294
|
-
organization_id_or_slug,
|
|
2295
|
-
version,
|
|
2296
|
-
ref=None,
|
|
2297
|
-
url=None,
|
|
2298
|
-
dateReleased=None,
|
|
2299
|
-
commits=None,
|
|
2300
|
-
refs=None,
|
|
2107
|
+
async def update_an_organization_s_release(
|
|
2108
|
+
self, organization_id_or_slug, version, ref=None, url=None, dateReleased=None, commits=None, refs=None
|
|
2301
2109
|
) -> dict[str, Any]:
|
|
2302
2110
|
"""
|
|
2303
2111
|
Updates a specific release version within an organization using the provided JSON data and returns a status message.
|
|
@@ -2321,13 +2129,7 @@ class SentryApp(APIApplication):
|
|
|
2321
2129
|
raise ValueError("Missing required parameter 'organization_id_or_slug'")
|
|
2322
2130
|
if version is None:
|
|
2323
2131
|
raise ValueError("Missing required parameter 'version'")
|
|
2324
|
-
request_body = {
|
|
2325
|
-
"ref": ref,
|
|
2326
|
-
"url": url,
|
|
2327
|
-
"dateReleased": dateReleased,
|
|
2328
|
-
"commits": commits,
|
|
2329
|
-
"refs": refs,
|
|
2330
|
-
}
|
|
2132
|
+
request_body = {"ref": ref, "url": url, "dateReleased": dateReleased, "commits": commits, "refs": refs}
|
|
2331
2133
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2332
2134
|
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/releases/{version}/"
|
|
2333
2135
|
query_params = {}
|
|
@@ -2335,7 +2137,7 @@ class SentryApp(APIApplication):
|
|
|
2335
2137
|
response.raise_for_status()
|
|
2336
2138
|
return response.json()
|
|
2337
2139
|
|
|
2338
|
-
def delete_an_organization_s_release(self, organization_id_or_slug, version) -> Any:
|
|
2140
|
+
async def delete_an_organization_s_release(self, organization_id_or_slug, version) -> Any:
|
|
2339
2141
|
"""
|
|
2340
2142
|
Deletes a release version associated with an organization in the API, identified by the organization ID or slug and the version number, and returns a successful deletion status with a 204 response code.
|
|
2341
2143
|
|
|
@@ -2359,15 +2161,8 @@ class SentryApp(APIApplication):
|
|
|
2359
2161
|
response.raise_for_status()
|
|
2360
2162
|
return response.json()
|
|
2361
2163
|
|
|
2362
|
-
def retrieve_a_count_of_replays(
|
|
2363
|
-
self,
|
|
2364
|
-
organization_id_or_slug,
|
|
2365
|
-
environment=None,
|
|
2366
|
-
start=None,
|
|
2367
|
-
end=None,
|
|
2368
|
-
statsPeriod=None,
|
|
2369
|
-
project=None,
|
|
2370
|
-
query=None,
|
|
2164
|
+
async def retrieve_a_count_of_replays(
|
|
2165
|
+
self, organization_id_or_slug, environment=None, start=None, end=None, statsPeriod=None, project=None, query=None
|
|
2371
2166
|
) -> dict[str, Any]:
|
|
2372
2167
|
"""
|
|
2373
2168
|
Retrieves the replay count for a specified organization, filtered by optional parameters such as environment, time range, project, and custom query.
|
|
@@ -2406,7 +2201,7 @@ class SentryApp(APIApplication):
|
|
|
2406
2201
|
response.raise_for_status()
|
|
2407
2202
|
return response.json()
|
|
2408
2203
|
|
|
2409
|
-
def list_an_organization_s_selectors(
|
|
2204
|
+
async def list_an_organization_s_selectors(
|
|
2410
2205
|
self,
|
|
2411
2206
|
organization_id_or_slug,
|
|
2412
2207
|
environment=None,
|
|
@@ -2462,7 +2257,7 @@ class SentryApp(APIApplication):
|
|
|
2462
2257
|
response.raise_for_status()
|
|
2463
2258
|
return response.json()
|
|
2464
2259
|
|
|
2465
|
-
def list_an_organization_s_replays(
|
|
2260
|
+
async def list_an_organization_s_replays(
|
|
2466
2261
|
self,
|
|
2467
2262
|
organization_id_or_slug,
|
|
2468
2263
|
statsPeriod=None,
|
|
@@ -2521,7 +2316,7 @@ class SentryApp(APIApplication):
|
|
|
2521
2316
|
response.raise_for_status()
|
|
2522
2317
|
return response.json()
|
|
2523
2318
|
|
|
2524
|
-
def retrieve_a_replay_instance(
|
|
2319
|
+
async def retrieve_a_replay_instance(
|
|
2525
2320
|
self,
|
|
2526
2321
|
organization_id_or_slug,
|
|
2527
2322
|
replay_id,
|
|
@@ -2584,13 +2379,8 @@ class SentryApp(APIApplication):
|
|
|
2584
2379
|
response.raise_for_status()
|
|
2585
2380
|
return response.json()
|
|
2586
2381
|
|
|
2587
|
-
def list_an_organization_s_paginated_teams(
|
|
2588
|
-
self,
|
|
2589
|
-
organization_id_or_slug,
|
|
2590
|
-
startIndex=None,
|
|
2591
|
-
count=None,
|
|
2592
|
-
filter=None,
|
|
2593
|
-
excludedAttributes=None,
|
|
2382
|
+
async def list_an_organization_s_paginated_teams(
|
|
2383
|
+
self, organization_id_or_slug, startIndex=None, count=None, filter=None, excludedAttributes=None
|
|
2594
2384
|
) -> dict[str, Any]:
|
|
2595
2385
|
"""
|
|
2596
2386
|
Retrieves a list of SCIM groups for a specified organization using query parameters such as startIndex, count, filter, and excludedAttributes.
|
|
@@ -2613,21 +2403,14 @@ class SentryApp(APIApplication):
|
|
|
2613
2403
|
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/scim/v2/Groups"
|
|
2614
2404
|
query_params = {
|
|
2615
2405
|
k: v
|
|
2616
|
-
for k, v in [
|
|
2617
|
-
("startIndex", startIndex),
|
|
2618
|
-
("count", count),
|
|
2619
|
-
("filter", filter),
|
|
2620
|
-
("excludedAttributes", excludedAttributes),
|
|
2621
|
-
]
|
|
2406
|
+
for k, v in [("startIndex", startIndex), ("count", count), ("filter", filter), ("excludedAttributes", excludedAttributes)]
|
|
2622
2407
|
if v is not None
|
|
2623
2408
|
}
|
|
2624
2409
|
response = self._get(url, params=query_params)
|
|
2625
2410
|
response.raise_for_status()
|
|
2626
2411
|
return response.json()
|
|
2627
2412
|
|
|
2628
|
-
def provision_a_new_team(
|
|
2629
|
-
self, organization_id_or_slug, displayName
|
|
2630
|
-
) -> dict[str, Any]:
|
|
2413
|
+
async def provision_a_new_team(self, organization_id_or_slug, displayName) -> dict[str, Any]:
|
|
2631
2414
|
"""
|
|
2632
2415
|
Creates a new SCIM group for the specified organization using a POST request to the Groups endpoint, requiring organization details in the request body.
|
|
2633
2416
|
|
|
@@ -2643,9 +2426,7 @@ class SentryApp(APIApplication):
|
|
|
2643
2426
|
"""
|
|
2644
2427
|
if organization_id_or_slug is None:
|
|
2645
2428
|
raise ValueError("Missing required parameter 'organization_id_or_slug'")
|
|
2646
|
-
request_body = {
|
|
2647
|
-
"displayName": displayName,
|
|
2648
|
-
}
|
|
2429
|
+
request_body = {"displayName": displayName}
|
|
2649
2430
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2650
2431
|
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/scim/v2/Groups"
|
|
2651
2432
|
query_params = {}
|
|
@@ -2653,9 +2434,7 @@ class SentryApp(APIApplication):
|
|
|
2653
2434
|
response.raise_for_status()
|
|
2654
2435
|
return response.json()
|
|
2655
2436
|
|
|
2656
|
-
def query_an_individual_team(
|
|
2657
|
-
self, organization_id_or_slug, team_id
|
|
2658
|
-
) -> dict[str, Any]:
|
|
2437
|
+
async def query_an_individual_team(self, organization_id_or_slug, team_id) -> dict[str, Any]:
|
|
2659
2438
|
"""
|
|
2660
2439
|
Retrieves details about a specific team using its ID within an organization, returning relevant SCIM group information.
|
|
2661
2440
|
|
|
@@ -2679,9 +2458,7 @@ class SentryApp(APIApplication):
|
|
|
2679
2458
|
response.raise_for_status()
|
|
2680
2459
|
return response.json()
|
|
2681
2460
|
|
|
2682
|
-
def update_a_team_s_attributes(
|
|
2683
|
-
self, organization_id_or_slug, team_id, Operations
|
|
2684
|
-
) -> Any:
|
|
2461
|
+
async def update_a_team_s_attributes(self, organization_id_or_slug, team_id, Operations) -> Any:
|
|
2685
2462
|
"""
|
|
2686
2463
|
Modifies a specific group within an organization using SCIM 2.0, allowing updates to group attributes with the provided JSON payload.
|
|
2687
2464
|
|
|
@@ -2756,9 +2533,7 @@ class SentryApp(APIApplication):
|
|
|
2756
2533
|
raise ValueError("Missing required parameter 'organization_id_or_slug'")
|
|
2757
2534
|
if team_id is None:
|
|
2758
2535
|
raise ValueError("Missing required parameter 'team_id'")
|
|
2759
|
-
request_body = {
|
|
2760
|
-
"Operations": Operations,
|
|
2761
|
-
}
|
|
2536
|
+
request_body = {"Operations": Operations}
|
|
2762
2537
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2763
2538
|
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/scim/v2/Groups/{team_id}"
|
|
2764
2539
|
query_params = {}
|
|
@@ -2766,7 +2541,7 @@ class SentryApp(APIApplication):
|
|
|
2766
2541
|
response.raise_for_status()
|
|
2767
2542
|
return response.json()
|
|
2768
2543
|
|
|
2769
|
-
def delete_an_individual_team(self, organization_id_or_slug, team_id) -> Any:
|
|
2544
|
+
async def delete_an_individual_team(self, organization_id_or_slug, team_id) -> Any:
|
|
2770
2545
|
"""
|
|
2771
2546
|
Deletes a specific team from an organization using SCIM, identified by a team ID, and removes associated permissions and access.
|
|
2772
2547
|
|
|
@@ -2790,13 +2565,8 @@ class SentryApp(APIApplication):
|
|
|
2790
2565
|
response.raise_for_status()
|
|
2791
2566
|
return response.json()
|
|
2792
2567
|
|
|
2793
|
-
def list_an_organization_s_scim_members(
|
|
2794
|
-
self,
|
|
2795
|
-
organization_id_or_slug,
|
|
2796
|
-
startIndex=None,
|
|
2797
|
-
count=None,
|
|
2798
|
-
filter=None,
|
|
2799
|
-
excludedAttributes=None,
|
|
2568
|
+
async def list_an_organization_s_scim_members(
|
|
2569
|
+
self, organization_id_or_slug, startIndex=None, count=None, filter=None, excludedAttributes=None
|
|
2800
2570
|
) -> dict[str, Any]:
|
|
2801
2571
|
"""
|
|
2802
2572
|
Retrieves a list of users from the specified organization using SCIM 2.0, allowing pagination and filtering based on query parameters such as `startIndex`, `count`, and `filter`.
|
|
@@ -2819,21 +2589,14 @@ class SentryApp(APIApplication):
|
|
|
2819
2589
|
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/scim/v2/Users"
|
|
2820
2590
|
query_params = {
|
|
2821
2591
|
k: v
|
|
2822
|
-
for k, v in [
|
|
2823
|
-
("startIndex", startIndex),
|
|
2824
|
-
("count", count),
|
|
2825
|
-
("filter", filter),
|
|
2826
|
-
("excludedAttributes", excludedAttributes),
|
|
2827
|
-
]
|
|
2592
|
+
for k, v in [("startIndex", startIndex), ("count", count), ("filter", filter), ("excludedAttributes", excludedAttributes)]
|
|
2828
2593
|
if v is not None
|
|
2829
2594
|
}
|
|
2830
2595
|
response = self._get(url, params=query_params)
|
|
2831
2596
|
response.raise_for_status()
|
|
2832
2597
|
return response.json()
|
|
2833
2598
|
|
|
2834
|
-
def provision_a_new_organization_member(
|
|
2835
|
-
self, organization_id_or_slug, userName, sentryOrgRole=None
|
|
2836
|
-
) -> dict[str, Any]:
|
|
2599
|
+
async def provision_a_new_organization_member(self, organization_id_or_slug, userName, sentryOrgRole=None) -> dict[str, Any]:
|
|
2837
2600
|
"""
|
|
2838
2601
|
Creates a new user in an organization using the SCIM API by sending a POST request to the specified Users endpoint.
|
|
2839
2602
|
|
|
@@ -2860,10 +2623,7 @@ class SentryApp(APIApplication):
|
|
|
2860
2623
|
"""
|
|
2861
2624
|
if organization_id_or_slug is None:
|
|
2862
2625
|
raise ValueError("Missing required parameter 'organization_id_or_slug'")
|
|
2863
|
-
request_body = {
|
|
2864
|
-
"userName": userName,
|
|
2865
|
-
"sentryOrgRole": sentryOrgRole,
|
|
2866
|
-
}
|
|
2626
|
+
request_body = {"userName": userName, "sentryOrgRole": sentryOrgRole}
|
|
2867
2627
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2868
2628
|
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/scim/v2/Users"
|
|
2869
2629
|
query_params = {}
|
|
@@ -2871,9 +2631,7 @@ class SentryApp(APIApplication):
|
|
|
2871
2631
|
response.raise_for_status()
|
|
2872
2632
|
return response.json()
|
|
2873
2633
|
|
|
2874
|
-
def query_an_individual_organization_member(
|
|
2875
|
-
self, organization_id_or_slug, member_id
|
|
2876
|
-
) -> dict[str, Any]:
|
|
2634
|
+
async def query_an_individual_organization_member(self, organization_id_or_slug, member_id) -> dict[str, Any]:
|
|
2877
2635
|
"""
|
|
2878
2636
|
Retrieves a specific member's details within an organization using the SCIM API, based on the organization ID or slug and the member ID.
|
|
2879
2637
|
|
|
@@ -2897,9 +2655,7 @@ class SentryApp(APIApplication):
|
|
|
2897
2655
|
response.raise_for_status()
|
|
2898
2656
|
return response.json()
|
|
2899
2657
|
|
|
2900
|
-
def update_an_organization_member_s_attributes(
|
|
2901
|
-
self, organization_id_or_slug, member_id, Operations
|
|
2902
|
-
) -> Any:
|
|
2658
|
+
async def update_an_organization_member_s_attributes(self, organization_id_or_slug, member_id, Operations) -> Any:
|
|
2903
2659
|
"""
|
|
2904
2660
|
Updates specific attributes of a SCIM user within an organization using a PATCH request.
|
|
2905
2661
|
|
|
@@ -2929,9 +2685,7 @@ class SentryApp(APIApplication):
|
|
|
2929
2685
|
raise ValueError("Missing required parameter 'organization_id_or_slug'")
|
|
2930
2686
|
if member_id is None:
|
|
2931
2687
|
raise ValueError("Missing required parameter 'member_id'")
|
|
2932
|
-
request_body = {
|
|
2933
|
-
"Operations": Operations,
|
|
2934
|
-
}
|
|
2688
|
+
request_body = {"Operations": Operations}
|
|
2935
2689
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2936
2690
|
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/scim/v2/Users/{member_id}"
|
|
2937
2691
|
query_params = {}
|
|
@@ -2939,9 +2693,7 @@ class SentryApp(APIApplication):
|
|
|
2939
2693
|
response.raise_for_status()
|
|
2940
2694
|
return response.json()
|
|
2941
2695
|
|
|
2942
|
-
def delete_an_organization_member_via_scim(
|
|
2943
|
-
self, organization_id_or_slug, member_id
|
|
2944
|
-
) -> Any:
|
|
2696
|
+
async def delete_an_organization_member_via_scim(self, organization_id_or_slug, member_id) -> Any:
|
|
2945
2697
|
"""
|
|
2946
2698
|
Deletes an organization member by ID using the SCIM API, requiring a valid admin token for authentication.
|
|
2947
2699
|
|
|
@@ -2965,7 +2717,7 @@ class SentryApp(APIApplication):
|
|
|
2965
2717
|
response.raise_for_status()
|
|
2966
2718
|
return response.json()
|
|
2967
2719
|
|
|
2968
|
-
def retrieve_release_health_session_statistics(
|
|
2720
|
+
async def retrieve_release_health_session_statistics(
|
|
2969
2721
|
self,
|
|
2970
2722
|
organization_id_or_slug,
|
|
2971
2723
|
field,
|
|
@@ -3033,7 +2785,7 @@ class SentryApp(APIApplication):
|
|
|
3033
2785
|
response.raise_for_status()
|
|
3034
2786
|
return response.json()
|
|
3035
2787
|
|
|
3036
|
-
def get_organization_events_count_by_project(
|
|
2788
|
+
async def get_organization_events_count_by_project(
|
|
3037
2789
|
self,
|
|
3038
2790
|
organization_id_or_slug,
|
|
3039
2791
|
field,
|
|
@@ -3092,7 +2844,7 @@ class SentryApp(APIApplication):
|
|
|
3092
2844
|
response.raise_for_status()
|
|
3093
2845
|
return response.json()
|
|
3094
2846
|
|
|
3095
|
-
def get_organization_event_counts_v2(
|
|
2847
|
+
async def get_organization_event_counts_v2(
|
|
3096
2848
|
self,
|
|
3097
2849
|
organization_id_or_slug,
|
|
3098
2850
|
groupBy,
|
|
@@ -3151,9 +2903,7 @@ class SentryApp(APIApplication):
|
|
|
3151
2903
|
response.raise_for_status()
|
|
3152
2904
|
return response.json()
|
|
3153
2905
|
|
|
3154
|
-
def list_an_organization_s_teams(
|
|
3155
|
-
self, organization_id_or_slug, detailed=None, cursor=None
|
|
3156
|
-
) -> list[Any]:
|
|
2906
|
+
async def list_an_organization_s_teams(self, organization_id_or_slug, detailed=None, cursor=None) -> list[Any]:
|
|
3157
2907
|
"""
|
|
3158
2908
|
Retrieves a list of teams associated with the specified organization, optionally with detailed information and pagination support.
|
|
3159
2909
|
|
|
@@ -3171,18 +2921,12 @@ class SentryApp(APIApplication):
|
|
|
3171
2921
|
if organization_id_or_slug is None:
|
|
3172
2922
|
raise ValueError("Missing required parameter 'organization_id_or_slug'")
|
|
3173
2923
|
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/teams/"
|
|
3174
|
-
query_params = {
|
|
3175
|
-
k: v
|
|
3176
|
-
for k, v in [("detailed", detailed), ("cursor", cursor)]
|
|
3177
|
-
if v is not None
|
|
3178
|
-
}
|
|
2924
|
+
query_params = {k: v for k, v in [("detailed", detailed), ("cursor", cursor)] if v is not None}
|
|
3179
2925
|
response = self._get(url, params=query_params)
|
|
3180
2926
|
response.raise_for_status()
|
|
3181
2927
|
return response.json()
|
|
3182
2928
|
|
|
3183
|
-
def create_a_new_team(
|
|
3184
|
-
self, organization_id_or_slug, slug=None, name=None
|
|
3185
|
-
) -> dict[str, Any]:
|
|
2929
|
+
async def create_a_new_team(self, organization_id_or_slug, slug=None, name=None) -> dict[str, Any]:
|
|
3186
2930
|
"""
|
|
3187
2931
|
Creates a team within a specified organization using the provided JSON data and returns a status message upon successful creation.
|
|
3188
2932
|
|
|
@@ -3201,10 +2945,7 @@ class SentryApp(APIApplication):
|
|
|
3201
2945
|
"""
|
|
3202
2946
|
if organization_id_or_slug is None:
|
|
3203
2947
|
raise ValueError("Missing required parameter 'organization_id_or_slug'")
|
|
3204
|
-
request_body = {
|
|
3205
|
-
"slug": slug,
|
|
3206
|
-
"name": name,
|
|
3207
|
-
}
|
|
2948
|
+
request_body = {"slug": slug, "name": name}
|
|
3208
2949
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3209
2950
|
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/teams/"
|
|
3210
2951
|
query_params = {}
|
|
@@ -3212,9 +2953,7 @@ class SentryApp(APIApplication):
|
|
|
3212
2953
|
response.raise_for_status()
|
|
3213
2954
|
return response.json()
|
|
3214
2955
|
|
|
3215
|
-
def list_a_user_s_teams_for_an_organization(
|
|
3216
|
-
self, organization_id_or_slug
|
|
3217
|
-
) -> list[Any]:
|
|
2956
|
+
async def list_a_user_s_teams_for_an_organization(self, organization_id_or_slug) -> list[Any]:
|
|
3218
2957
|
"""
|
|
3219
2958
|
Retrieves a list of user teams associated with the specified organization.
|
|
3220
2959
|
|
|
@@ -3229,17 +2968,13 @@ class SentryApp(APIApplication):
|
|
|
3229
2968
|
"""
|
|
3230
2969
|
if organization_id_or_slug is None:
|
|
3231
2970
|
raise ValueError("Missing required parameter 'organization_id_or_slug'")
|
|
3232
|
-
url =
|
|
3233
|
-
f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/user-teams/"
|
|
3234
|
-
)
|
|
2971
|
+
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/user-teams/"
|
|
3235
2972
|
query_params = {}
|
|
3236
2973
|
response = self._get(url, params=query_params)
|
|
3237
2974
|
response.raise_for_status()
|
|
3238
2975
|
return response.json()
|
|
3239
2976
|
|
|
3240
|
-
def retrieve_a_project(
|
|
3241
|
-
self, organization_id_or_slug, project_id_or_slug
|
|
3242
|
-
) -> dict[str, Any]:
|
|
2977
|
+
async def retrieve_a_project(self, organization_id_or_slug, project_id_or_slug) -> dict[str, Any]:
|
|
3243
2978
|
"""
|
|
3244
2979
|
Retrieves details about a specific project within an organization using the organization ID or slug and project ID or slug.
|
|
3245
2980
|
|
|
@@ -3263,7 +2998,7 @@ class SentryApp(APIApplication):
|
|
|
3263
2998
|
response.raise_for_status()
|
|
3264
2999
|
return response.json()
|
|
3265
3000
|
|
|
3266
|
-
def update_a_project(
|
|
3001
|
+
async def update_a_project(
|
|
3267
3002
|
self,
|
|
3268
3003
|
organization_id_or_slug,
|
|
3269
3004
|
project_id_or_slug,
|
|
@@ -3328,7 +3063,7 @@ class SentryApp(APIApplication):
|
|
|
3328
3063
|
response.raise_for_status()
|
|
3329
3064
|
return response.json()
|
|
3330
3065
|
|
|
3331
|
-
def delete_a_project(self, organization_id_or_slug, project_id_or_slug) -> Any:
|
|
3066
|
+
async def delete_a_project(self, organization_id_or_slug, project_id_or_slug) -> Any:
|
|
3332
3067
|
"""
|
|
3333
3068
|
Deletes a project identified by the specified organization ID or slug and project ID or slug using the DELETE method, requiring admin authentication.
|
|
3334
3069
|
|
|
@@ -3352,9 +3087,7 @@ class SentryApp(APIApplication):
|
|
|
3352
3087
|
response.raise_for_status()
|
|
3353
3088
|
return response.json()
|
|
3354
3089
|
|
|
3355
|
-
def list_a_project_s_environments(
|
|
3356
|
-
self, organization_id_or_slug, project_id_or_slug, visibility=None
|
|
3357
|
-
) -> list[Any]:
|
|
3090
|
+
async def list_a_project_s_environments(self, organization_id_or_slug, project_id_or_slug, visibility=None) -> list[Any]:
|
|
3358
3091
|
"""
|
|
3359
3092
|
Get a list of environments for a specified project within an organization, optionally filtered by visibility.
|
|
3360
3093
|
|
|
@@ -3379,9 +3112,7 @@ class SentryApp(APIApplication):
|
|
|
3379
3112
|
response.raise_for_status()
|
|
3380
3113
|
return response.json()
|
|
3381
3114
|
|
|
3382
|
-
def retrieve_a_project_environment(
|
|
3383
|
-
self, organization_id_or_slug, project_id_or_slug, environment
|
|
3384
|
-
) -> dict[str, Any]:
|
|
3115
|
+
async def retrieve_a_project_environment(self, organization_id_or_slug, project_id_or_slug, environment) -> dict[str, Any]:
|
|
3385
3116
|
"""
|
|
3386
3117
|
Retrieves details for a specific environment within a project using the organization ID or slug, project ID or slug, and environment name.
|
|
3387
3118
|
|
|
@@ -3408,9 +3139,7 @@ class SentryApp(APIApplication):
|
|
|
3408
3139
|
response.raise_for_status()
|
|
3409
3140
|
return response.json()
|
|
3410
3141
|
|
|
3411
|
-
def update_a_project_environment(
|
|
3412
|
-
self, organization_id_or_slug, project_id_or_slug, environment, isHidden
|
|
3413
|
-
) -> dict[str, Any]:
|
|
3142
|
+
async def update_a_project_environment(self, organization_id_or_slug, project_id_or_slug, environment, isHidden) -> dict[str, Any]:
|
|
3414
3143
|
"""
|
|
3415
3144
|
Updates the environment settings for a specific project using the provided JSON data and returns a status message.
|
|
3416
3145
|
|
|
@@ -3432,9 +3161,7 @@ class SentryApp(APIApplication):
|
|
|
3432
3161
|
raise ValueError("Missing required parameter 'project_id_or_slug'")
|
|
3433
3162
|
if environment is None:
|
|
3434
3163
|
raise ValueError("Missing required parameter 'environment'")
|
|
3435
|
-
request_body = {
|
|
3436
|
-
"isHidden": isHidden,
|
|
3437
|
-
}
|
|
3164
|
+
request_body = {"isHidden": isHidden}
|
|
3438
3165
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3439
3166
|
url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/environments/{environment}/"
|
|
3440
3167
|
query_params = {}
|
|
@@ -3442,13 +3169,8 @@ class SentryApp(APIApplication):
|
|
|
3442
3169
|
response.raise_for_status()
|
|
3443
3170
|
return response.json()
|
|
3444
3171
|
|
|
3445
|
-
def list_a_project_s_error_events(
|
|
3446
|
-
self,
|
|
3447
|
-
organization_id_or_slug,
|
|
3448
|
-
project_id_or_slug,
|
|
3449
|
-
cursor=None,
|
|
3450
|
-
full=None,
|
|
3451
|
-
sample=None,
|
|
3172
|
+
async def list_a_project_s_error_events(
|
|
3173
|
+
self, organization_id_or_slug, project_id_or_slug, cursor=None, full=None, sample=None
|
|
3452
3174
|
) -> list[Any]:
|
|
3453
3175
|
"""
|
|
3454
3176
|
Retrieves a list of events for a specific project in an organization using the provided identifiers and optional query parameters for pagination and data filtering.
|
|
@@ -3471,22 +3193,13 @@ class SentryApp(APIApplication):
|
|
|
3471
3193
|
if project_id_or_slug is None:
|
|
3472
3194
|
raise ValueError("Missing required parameter 'project_id_or_slug'")
|
|
3473
3195
|
url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/events/"
|
|
3474
|
-
query_params = {
|
|
3475
|
-
k: v
|
|
3476
|
-
for k, v in [("cursor", cursor), ("full", full), ("sample", sample)]
|
|
3477
|
-
if v is not None
|
|
3478
|
-
}
|
|
3196
|
+
query_params = {k: v for k, v in [("cursor", cursor), ("full", full), ("sample", sample)] if v is not None}
|
|
3479
3197
|
response = self._get(url, params=query_params)
|
|
3480
3198
|
response.raise_for_status()
|
|
3481
3199
|
return response.json()
|
|
3482
3200
|
|
|
3483
|
-
def debug_event_source_maps(
|
|
3484
|
-
self,
|
|
3485
|
-
organization_id_or_slug,
|
|
3486
|
-
project_id_or_slug,
|
|
3487
|
-
event_id,
|
|
3488
|
-
frame_idx,
|
|
3489
|
-
exception_idx,
|
|
3201
|
+
async def debug_event_source_maps(
|
|
3202
|
+
self, organization_id_or_slug, project_id_or_slug, event_id, frame_idx, exception_idx
|
|
3490
3203
|
) -> dict[str, Any]:
|
|
3491
3204
|
"""
|
|
3492
3205
|
Retrieves source map debug information for a specific event within a project, using the `GET` method and requiring an organization ID or slug, project ID or slug, event ID, frame index, and exception index.
|
|
@@ -3511,18 +3224,12 @@ class SentryApp(APIApplication):
|
|
|
3511
3224
|
if event_id is None:
|
|
3512
3225
|
raise ValueError("Missing required parameter 'event_id'")
|
|
3513
3226
|
url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/events/{event_id}/source-map-debug/"
|
|
3514
|
-
query_params = {
|
|
3515
|
-
k: v
|
|
3516
|
-
for k, v in [("frame_idx", frame_idx), ("exception_idx", exception_idx)]
|
|
3517
|
-
if v is not None
|
|
3518
|
-
}
|
|
3227
|
+
query_params = {k: v for k, v in [("frame_idx", frame_idx), ("exception_idx", exception_idx)] if v is not None}
|
|
3519
3228
|
response = self._get(url, params=query_params)
|
|
3520
3229
|
response.raise_for_status()
|
|
3521
3230
|
return response.json()
|
|
3522
3231
|
|
|
3523
|
-
def list_a_project_s_data_filters(
|
|
3524
|
-
self, organization_id_or_slug, project_id_or_slug
|
|
3525
|
-
) -> list[Any]:
|
|
3232
|
+
async def list_a_project_s_data_filters(self, organization_id_or_slug, project_id_or_slug) -> list[Any]:
|
|
3526
3233
|
"""
|
|
3527
3234
|
Retrieves a list of filters for a project in a specified organization using the provided organization ID or slug and project ID or slug.
|
|
3528
3235
|
|
|
@@ -3546,13 +3253,8 @@ class SentryApp(APIApplication):
|
|
|
3546
3253
|
response.raise_for_status()
|
|
3547
3254
|
return response.json()
|
|
3548
3255
|
|
|
3549
|
-
def update_an_inbound_data_filter(
|
|
3550
|
-
self,
|
|
3551
|
-
organization_id_or_slug,
|
|
3552
|
-
project_id_or_slug,
|
|
3553
|
-
filter_id,
|
|
3554
|
-
active=None,
|
|
3555
|
-
subfilters=None,
|
|
3256
|
+
async def update_an_inbound_data_filter(
|
|
3257
|
+
self, organization_id_or_slug, project_id_or_slug, filter_id, active=None, subfilters=None
|
|
3556
3258
|
) -> Any:
|
|
3557
3259
|
"""
|
|
3558
3260
|
Updates a filter in a project using the organization ID or slug, project ID or slug, and filter ID, with the new filter details provided in the JSON body, requiring appropriate authentication for project administration or writing permissions.
|
|
@@ -3598,10 +3300,7 @@ class SentryApp(APIApplication):
|
|
|
3598
3300
|
raise ValueError("Missing required parameter 'project_id_or_slug'")
|
|
3599
3301
|
if filter_id is None:
|
|
3600
3302
|
raise ValueError("Missing required parameter 'filter_id'")
|
|
3601
|
-
request_body = {
|
|
3602
|
-
"active": active,
|
|
3603
|
-
"subfilters": subfilters,
|
|
3604
|
-
}
|
|
3303
|
+
request_body = {"active": active, "subfilters": subfilters}
|
|
3605
3304
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3606
3305
|
url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/filters/{filter_id}/"
|
|
3607
3306
|
query_params = {}
|
|
@@ -3609,9 +3308,7 @@ class SentryApp(APIApplication):
|
|
|
3609
3308
|
response.raise_for_status()
|
|
3610
3309
|
return response.json()
|
|
3611
3310
|
|
|
3612
|
-
def list_a_project_s_client_keys(
|
|
3613
|
-
self, organization_id_or_slug, project_id_or_slug, cursor=None, status=None
|
|
3614
|
-
) -> list[Any]:
|
|
3311
|
+
async def list_a_project_s_client_keys(self, organization_id_or_slug, project_id_or_slug, cursor=None, status=None) -> list[Any]:
|
|
3615
3312
|
"""
|
|
3616
3313
|
Retrieves a list of keys for a project, allowing optional filtering by status and pagination with a cursor.
|
|
3617
3314
|
|
|
@@ -3632,16 +3329,12 @@ class SentryApp(APIApplication):
|
|
|
3632
3329
|
if project_id_or_slug is None:
|
|
3633
3330
|
raise ValueError("Missing required parameter 'project_id_or_slug'")
|
|
3634
3331
|
url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/keys/"
|
|
3635
|
-
query_params = {
|
|
3636
|
-
k: v for k, v in [("cursor", cursor), ("status", status)] if v is not None
|
|
3637
|
-
}
|
|
3332
|
+
query_params = {k: v for k, v in [("cursor", cursor), ("status", status)] if v is not None}
|
|
3638
3333
|
response = self._get(url, params=query_params)
|
|
3639
3334
|
response.raise_for_status()
|
|
3640
3335
|
return response.json()
|
|
3641
3336
|
|
|
3642
|
-
def create_a_new_client_key(
|
|
3643
|
-
self, organization_id_or_slug, project_id_or_slug, name=None, rateLimit=None
|
|
3644
|
-
) -> dict[str, Any]:
|
|
3337
|
+
async def create_a_new_client_key(self, organization_id_or_slug, project_id_or_slug, name=None, rateLimit=None) -> dict[str, Any]:
|
|
3645
3338
|
"""
|
|
3646
3339
|
Create a new key for a specific project within an organization by providing the necessary details in the request body.
|
|
3647
3340
|
|
|
@@ -3670,10 +3363,7 @@ class SentryApp(APIApplication):
|
|
|
3670
3363
|
raise ValueError("Missing required parameter 'organization_id_or_slug'")
|
|
3671
3364
|
if project_id_or_slug is None:
|
|
3672
3365
|
raise ValueError("Missing required parameter 'project_id_or_slug'")
|
|
3673
|
-
request_body = {
|
|
3674
|
-
"name": name,
|
|
3675
|
-
"rateLimit": rateLimit,
|
|
3676
|
-
}
|
|
3366
|
+
request_body = {"name": name, "rateLimit": rateLimit}
|
|
3677
3367
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3678
3368
|
url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/keys/"
|
|
3679
3369
|
query_params = {}
|
|
@@ -3681,9 +3371,7 @@ class SentryApp(APIApplication):
|
|
|
3681
3371
|
response.raise_for_status()
|
|
3682
3372
|
return response.json()
|
|
3683
3373
|
|
|
3684
|
-
def retrieve_a_client_key(
|
|
3685
|
-
self, organization_id_or_slug, project_id_or_slug, key_id
|
|
3686
|
-
) -> dict[str, Any]:
|
|
3374
|
+
async def retrieve_a_client_key(self, organization_id_or_slug, project_id_or_slug, key_id) -> dict[str, Any]:
|
|
3687
3375
|
"""
|
|
3688
3376
|
Retrieves details about a specific project key using the organization ID or slug and project ID or slug.
|
|
3689
3377
|
|
|
@@ -3710,7 +3398,7 @@ class SentryApp(APIApplication):
|
|
|
3710
3398
|
response.raise_for_status()
|
|
3711
3399
|
return response.json()
|
|
3712
3400
|
|
|
3713
|
-
def update_a_client_key(
|
|
3401
|
+
async def update_a_client_key(
|
|
3714
3402
|
self,
|
|
3715
3403
|
organization_id_or_slug,
|
|
3716
3404
|
project_id_or_slug,
|
|
@@ -3784,9 +3472,7 @@ class SentryApp(APIApplication):
|
|
|
3784
3472
|
response.raise_for_status()
|
|
3785
3473
|
return response.json()
|
|
3786
3474
|
|
|
3787
|
-
def delete_a_client_key(
|
|
3788
|
-
self, organization_id_or_slug, project_id_or_slug, key_id
|
|
3789
|
-
) -> Any:
|
|
3475
|
+
async def delete_a_client_key(self, organization_id_or_slug, project_id_or_slug, key_id) -> Any:
|
|
3790
3476
|
"""
|
|
3791
3477
|
Deletes a specified API key within a project under an organization, requiring project admin authorization.
|
|
3792
3478
|
|
|
@@ -3813,9 +3499,7 @@ class SentryApp(APIApplication):
|
|
|
3813
3499
|
response.raise_for_status()
|
|
3814
3500
|
return response.json()
|
|
3815
3501
|
|
|
3816
|
-
def list_a_project_s_organization_members(
|
|
3817
|
-
self, organization_id_or_slug, project_id_or_slug
|
|
3818
|
-
) -> list[Any]:
|
|
3502
|
+
async def list_a_project_s_organization_members(self, organization_id_or_slug, project_id_or_slug) -> list[Any]:
|
|
3819
3503
|
"""
|
|
3820
3504
|
Retrieves a list of members for a specific project within an organization using the provided organization ID or slug and project ID or slug.
|
|
3821
3505
|
|
|
@@ -3839,9 +3523,7 @@ class SentryApp(APIApplication):
|
|
|
3839
3523
|
response.raise_for_status()
|
|
3840
3524
|
return response.json()
|
|
3841
3525
|
|
|
3842
|
-
def retrieve_a_monitor_for_a_project(
|
|
3843
|
-
self, organization_id_or_slug, project_id_or_slug, monitor_id_or_slug
|
|
3844
|
-
) -> dict[str, Any]:
|
|
3526
|
+
async def retrieve_a_monitor_for_a_project(self, organization_id_or_slug, project_id_or_slug, monitor_id_or_slug) -> dict[str, Any]:
|
|
3845
3527
|
"""
|
|
3846
3528
|
Retrieves details for a specific monitor within a project and organization using their respective IDs or slugs.
|
|
3847
3529
|
|
|
@@ -3868,17 +3550,8 @@ class SentryApp(APIApplication):
|
|
|
3868
3550
|
response.raise_for_status()
|
|
3869
3551
|
return response.json()
|
|
3870
3552
|
|
|
3871
|
-
def update_a_monitor_for_a_project(
|
|
3872
|
-
self,
|
|
3873
|
-
organization_id_or_slug,
|
|
3874
|
-
project_id_or_slug,
|
|
3875
|
-
monitor_id_or_slug,
|
|
3876
|
-
name,
|
|
3877
|
-
type,
|
|
3878
|
-
slug=None,
|
|
3879
|
-
status=None,
|
|
3880
|
-
owner=None,
|
|
3881
|
-
is_muted=None,
|
|
3553
|
+
async def update_a_monitor_for_a_project(
|
|
3554
|
+
self, organization_id_or_slug, project_id_or_slug, monitor_id_or_slug, name, type, slug=None, status=None, owner=None, is_muted=None
|
|
3882
3555
|
) -> dict[str, Any]:
|
|
3883
3556
|
"""
|
|
3884
3557
|
Updates a monitor in a project using the organization and project identifiers.
|
|
@@ -3909,14 +3582,7 @@ class SentryApp(APIApplication):
|
|
|
3909
3582
|
raise ValueError("Missing required parameter 'project_id_or_slug'")
|
|
3910
3583
|
if monitor_id_or_slug is None:
|
|
3911
3584
|
raise ValueError("Missing required parameter 'monitor_id_or_slug'")
|
|
3912
|
-
request_body = {
|
|
3913
|
-
"name": name,
|
|
3914
|
-
"type": type,
|
|
3915
|
-
"slug": slug,
|
|
3916
|
-
"status": status,
|
|
3917
|
-
"owner": owner,
|
|
3918
|
-
"is_muted": is_muted,
|
|
3919
|
-
}
|
|
3585
|
+
request_body = {"name": name, "type": type, "slug": slug, "status": status, "owner": owner, "is_muted": is_muted}
|
|
3920
3586
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3921
3587
|
url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/monitors/{monitor_id_or_slug}/"
|
|
3922
3588
|
query_params = {}
|
|
@@ -3924,12 +3590,8 @@ class SentryApp(APIApplication):
|
|
|
3924
3590
|
response.raise_for_status()
|
|
3925
3591
|
return response.json()
|
|
3926
3592
|
|
|
3927
|
-
def delete_project_monitor_or_environments(
|
|
3928
|
-
self,
|
|
3929
|
-
organization_id_or_slug,
|
|
3930
|
-
project_id_or_slug,
|
|
3931
|
-
monitor_id_or_slug,
|
|
3932
|
-
environment=None,
|
|
3593
|
+
async def delete_project_monitor_or_environments(
|
|
3594
|
+
self, organization_id_or_slug, project_id_or_slug, monitor_id_or_slug, environment=None
|
|
3933
3595
|
) -> Any:
|
|
3934
3596
|
"""
|
|
3935
3597
|
Deletes a specific monitor from a project in an organization and returns an HTTP status indicating the outcome.
|
|
@@ -3953,14 +3615,12 @@ class SentryApp(APIApplication):
|
|
|
3953
3615
|
if monitor_id_or_slug is None:
|
|
3954
3616
|
raise ValueError("Missing required parameter 'monitor_id_or_slug'")
|
|
3955
3617
|
url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/monitors/{monitor_id_or_slug}/"
|
|
3956
|
-
query_params = {
|
|
3957
|
-
k: v for k, v in [("environment", environment)] if v is not None
|
|
3958
|
-
}
|
|
3618
|
+
query_params = {k: v for k, v in [("environment", environment)] if v is not None}
|
|
3959
3619
|
response = self._delete(url, params=query_params)
|
|
3960
3620
|
response.raise_for_status()
|
|
3961
3621
|
return response.json()
|
|
3962
3622
|
|
|
3963
|
-
def retrieve_check_ins_for_a_monitor_by_project(
|
|
3623
|
+
async def retrieve_check_ins_for_a_monitor_by_project(
|
|
3964
3624
|
self, organization_id_or_slug, project_id_or_slug, monitor_id_or_slug
|
|
3965
3625
|
) -> list[Any]:
|
|
3966
3626
|
"""
|
|
@@ -3989,9 +3649,7 @@ class SentryApp(APIApplication):
|
|
|
3989
3649
|
response.raise_for_status()
|
|
3990
3650
|
return response.json()
|
|
3991
3651
|
|
|
3992
|
-
def get_project_ownership_config(
|
|
3993
|
-
self, organization_id_or_slug, project_id_or_slug
|
|
3994
|
-
) -> dict[str, Any]:
|
|
3652
|
+
async def get_project_ownership_config(self, organization_id_or_slug, project_id_or_slug) -> dict[str, Any]:
|
|
3995
3653
|
"""
|
|
3996
3654
|
Retrieves project ownership details for a specific project within an organization using the provided organization ID or slug and project ID or slug.
|
|
3997
3655
|
|
|
@@ -4015,14 +3673,8 @@ class SentryApp(APIApplication):
|
|
|
4015
3673
|
response.raise_for_status()
|
|
4016
3674
|
return response.json()
|
|
4017
3675
|
|
|
4018
|
-
def update_project_ownership_config(
|
|
4019
|
-
self,
|
|
4020
|
-
organization_id_or_slug,
|
|
4021
|
-
project_id_or_slug,
|
|
4022
|
-
raw=None,
|
|
4023
|
-
fallthrough=None,
|
|
4024
|
-
autoAssignment=None,
|
|
4025
|
-
codeownersAutoSync=None,
|
|
3676
|
+
async def update_project_ownership_config(
|
|
3677
|
+
self, organization_id_or_slug, project_id_or_slug, raw=None, fallthrough=None, autoAssignment=None, codeownersAutoSync=None
|
|
4026
3678
|
) -> dict[str, Any]:
|
|
4027
3679
|
"""
|
|
4028
3680
|
Updates the ownership configuration for a specific project, allowing modification of ownership rules, fallthrough assignment, auto-assignment settings, and CODEOWNERS synchronization[1].
|
|
@@ -4048,12 +3700,7 @@ class SentryApp(APIApplication):
|
|
|
4048
3700
|
raise ValueError("Missing required parameter 'organization_id_or_slug'")
|
|
4049
3701
|
if project_id_or_slug is None:
|
|
4050
3702
|
raise ValueError("Missing required parameter 'project_id_or_slug'")
|
|
4051
|
-
request_body = {
|
|
4052
|
-
"raw": raw,
|
|
4053
|
-
"fallthrough": fallthrough,
|
|
4054
|
-
"autoAssignment": autoAssignment,
|
|
4055
|
-
"codeownersAutoSync": codeownersAutoSync,
|
|
4056
|
-
}
|
|
3703
|
+
request_body = {"raw": raw, "fallthrough": fallthrough, "autoAssignment": autoAssignment, "codeownersAutoSync": codeownersAutoSync}
|
|
4057
3704
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4058
3705
|
url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/ownership/"
|
|
4059
3706
|
query_params = {}
|
|
@@ -4061,9 +3708,7 @@ class SentryApp(APIApplication):
|
|
|
4061
3708
|
response.raise_for_status()
|
|
4062
3709
|
return response.json()
|
|
4063
3710
|
|
|
4064
|
-
def delete_a_replay_instance(
|
|
4065
|
-
self, organization_id_or_slug, project_id_or_slug, replay_id
|
|
4066
|
-
) -> Any:
|
|
3711
|
+
async def delete_a_replay_instance(self, organization_id_or_slug, project_id_or_slug, replay_id) -> Any:
|
|
4067
3712
|
"""
|
|
4068
3713
|
Deletes a specified replay associated with a project and organization using its unique identifier.
|
|
4069
3714
|
|
|
@@ -4090,15 +3735,8 @@ class SentryApp(APIApplication):
|
|
|
4090
3735
|
response.raise_for_status()
|
|
4091
3736
|
return response.json()
|
|
4092
3737
|
|
|
4093
|
-
def list_clicked_nodes(
|
|
4094
|
-
self,
|
|
4095
|
-
organization_id_or_slug,
|
|
4096
|
-
project_id_or_slug,
|
|
4097
|
-
replay_id,
|
|
4098
|
-
cursor=None,
|
|
4099
|
-
environment=None,
|
|
4100
|
-
per_page=None,
|
|
4101
|
-
query=None,
|
|
3738
|
+
async def list_clicked_nodes(
|
|
3739
|
+
self, organization_id_or_slug, project_id_or_slug, replay_id, cursor=None, environment=None, per_page=None, query=None
|
|
4102
3740
|
) -> dict[str, Any]:
|
|
4103
3741
|
"""
|
|
4104
3742
|
Retrieves a list of user click events recorded during a specific replay session within a project and organization, with optional filtering and pagination.
|
|
@@ -4126,26 +3764,14 @@ class SentryApp(APIApplication):
|
|
|
4126
3764
|
raise ValueError("Missing required parameter 'replay_id'")
|
|
4127
3765
|
url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/replays/{replay_id}/clicks/"
|
|
4128
3766
|
query_params = {
|
|
4129
|
-
k: v
|
|
4130
|
-
for k, v in [
|
|
4131
|
-
("cursor", cursor),
|
|
4132
|
-
("environment", environment),
|
|
4133
|
-
("per_page", per_page),
|
|
4134
|
-
("query", query),
|
|
4135
|
-
]
|
|
4136
|
-
if v is not None
|
|
3767
|
+
k: v for k, v in [("cursor", cursor), ("environment", environment), ("per_page", per_page), ("query", query)] if v is not None
|
|
4137
3768
|
}
|
|
4138
3769
|
response = self._get(url, params=query_params)
|
|
4139
3770
|
response.raise_for_status()
|
|
4140
3771
|
return response.json()
|
|
4141
3772
|
|
|
4142
|
-
def list_recording_segments(
|
|
4143
|
-
self,
|
|
4144
|
-
organization_id_or_slug,
|
|
4145
|
-
project_id_or_slug,
|
|
4146
|
-
replay_id,
|
|
4147
|
-
cursor=None,
|
|
4148
|
-
per_page=None,
|
|
3773
|
+
async def list_recording_segments(
|
|
3774
|
+
self, organization_id_or_slug, project_id_or_slug, replay_id, cursor=None, per_page=None
|
|
4149
3775
|
) -> list[Any]:
|
|
4150
3776
|
"""
|
|
4151
3777
|
Retrieves a paginated list of recording segments for a specified replay within a project and organization.
|
|
@@ -4170,18 +3796,12 @@ class SentryApp(APIApplication):
|
|
|
4170
3796
|
if replay_id is None:
|
|
4171
3797
|
raise ValueError("Missing required parameter 'replay_id'")
|
|
4172
3798
|
url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/replays/{replay_id}/recording-segments/"
|
|
4173
|
-
query_params = {
|
|
4174
|
-
k: v
|
|
4175
|
-
for k, v in [("cursor", cursor), ("per_page", per_page)]
|
|
4176
|
-
if v is not None
|
|
4177
|
-
}
|
|
3799
|
+
query_params = {k: v for k, v in [("cursor", cursor), ("per_page", per_page)] if v is not None}
|
|
4178
3800
|
response = self._get(url, params=query_params)
|
|
4179
3801
|
response.raise_for_status()
|
|
4180
3802
|
return response.json()
|
|
4181
3803
|
|
|
4182
|
-
def retrieve_a_recording_segment(
|
|
4183
|
-
self, organization_id_or_slug, project_id_or_slug, replay_id, segment_id
|
|
4184
|
-
) -> list[Any]:
|
|
3804
|
+
async def retrieve_a_recording_segment(self, organization_id_or_slug, project_id_or_slug, replay_id, segment_id) -> list[Any]:
|
|
4185
3805
|
"""
|
|
4186
3806
|
Retrieves a specific recording segment from a replay within a project using the organization ID or slug and project ID or slug.
|
|
4187
3807
|
|
|
@@ -4211,9 +3831,7 @@ class SentryApp(APIApplication):
|
|
|
4211
3831
|
response.raise_for_status()
|
|
4212
3832
|
return response.json()
|
|
4213
3833
|
|
|
4214
|
-
def list_users_who_have_viewed_a_replay(
|
|
4215
|
-
self, organization_id_or_slug, project_id_or_slug, replay_id
|
|
4216
|
-
) -> dict[str, Any]:
|
|
3834
|
+
async def list_users_who_have_viewed_a_replay(self, organization_id_or_slug, project_id_or_slug, replay_id) -> dict[str, Any]:
|
|
4217
3835
|
"""
|
|
4218
3836
|
Get a list of users who have viewed a specific replay in a project within an organization.
|
|
4219
3837
|
|
|
@@ -4240,9 +3858,7 @@ class SentryApp(APIApplication):
|
|
|
4240
3858
|
response.raise_for_status()
|
|
4241
3859
|
return response.json()
|
|
4242
3860
|
|
|
4243
|
-
def list_a_project_s_issue_alert_rules(
|
|
4244
|
-
self, organization_id_or_slug, project_id_or_slug
|
|
4245
|
-
) -> list[Any]:
|
|
3861
|
+
async def list_a_project_s_issue_alert_rules(self, organization_id_or_slug, project_id_or_slug) -> list[Any]:
|
|
4246
3862
|
"""
|
|
4247
3863
|
Retrieves the list of rules configured for a specified project within an organization.
|
|
4248
3864
|
|
|
@@ -4266,7 +3882,7 @@ class SentryApp(APIApplication):
|
|
|
4266
3882
|
response.raise_for_status()
|
|
4267
3883
|
return response.json()
|
|
4268
3884
|
|
|
4269
|
-
def create_an_issue_alert_rule_for_a_project(
|
|
3885
|
+
async def create_an_issue_alert_rule_for_a_project(
|
|
4270
3886
|
self,
|
|
4271
3887
|
organization_id_or_slug,
|
|
4272
3888
|
project_id_or_slug,
|
|
@@ -4679,9 +4295,7 @@ class SentryApp(APIApplication):
|
|
|
4679
4295
|
response.raise_for_status()
|
|
4680
4296
|
return response.json()
|
|
4681
4297
|
|
|
4682
|
-
def retrieve_an_issue_alert_rule_for_a_project(
|
|
4683
|
-
self, organization_id_or_slug, project_id_or_slug, rule_id
|
|
4684
|
-
) -> dict[str, Any]:
|
|
4298
|
+
async def retrieve_an_issue_alert_rule_for_a_project(self, organization_id_or_slug, project_id_or_slug, rule_id) -> dict[str, Any]:
|
|
4685
4299
|
"""
|
|
4686
4300
|
Retrieves information about a specific rule in a project using the organization ID or slug, project ID or slug, and rule ID.
|
|
4687
4301
|
|
|
@@ -4708,7 +4322,7 @@ class SentryApp(APIApplication):
|
|
|
4708
4322
|
response.raise_for_status()
|
|
4709
4323
|
return response.json()
|
|
4710
4324
|
|
|
4711
|
-
def update_an_issue_alert_rule(
|
|
4325
|
+
async def update_an_issue_alert_rule(
|
|
4712
4326
|
self,
|
|
4713
4327
|
organization_id_or_slug,
|
|
4714
4328
|
project_id_or_slug,
|
|
@@ -4778,9 +4392,7 @@ class SentryApp(APIApplication):
|
|
|
4778
4392
|
response.raise_for_status()
|
|
4779
4393
|
return response.json()
|
|
4780
4394
|
|
|
4781
|
-
def delete_an_issue_alert_rule(
|
|
4782
|
-
self, organization_id_or_slug, project_id_or_slug, rule_id
|
|
4783
|
-
) -> Any:
|
|
4395
|
+
async def delete_an_issue_alert_rule(self, organization_id_or_slug, project_id_or_slug, rule_id) -> Any:
|
|
4784
4396
|
"""
|
|
4785
4397
|
Deletes a specific rule from a project within an organization by rule ID.
|
|
4786
4398
|
|
|
@@ -4807,9 +4419,7 @@ class SentryApp(APIApplication):
|
|
|
4807
4419
|
response.raise_for_status()
|
|
4808
4420
|
return response.json()
|
|
4809
4421
|
|
|
4810
|
-
def retrieve_a_project_s_symbol_sources(
|
|
4811
|
-
self, organization_id_or_slug, project_id_or_slug, id=None
|
|
4812
|
-
) -> list[Any]:
|
|
4422
|
+
async def retrieve_a_project_s_symbol_sources(self, organization_id_or_slug, project_id_or_slug, id=None) -> list[Any]:
|
|
4813
4423
|
"""
|
|
4814
4424
|
Retrieves a list of symbol sources for a specified project within an organization using the provided organization and project identifiers.
|
|
4815
4425
|
|
|
@@ -4834,7 +4444,7 @@ class SentryApp(APIApplication):
|
|
|
4834
4444
|
response.raise_for_status()
|
|
4835
4445
|
return response.json()
|
|
4836
4446
|
|
|
4837
|
-
def add_a_symbol_source_to_a_project(
|
|
4447
|
+
async def add_a_symbol_source_to_a_project(
|
|
4838
4448
|
self,
|
|
4839
4449
|
organization_id_or_slug,
|
|
4840
4450
|
project_id_or_slug,
|
|
@@ -4955,7 +4565,7 @@ class SentryApp(APIApplication):
|
|
|
4955
4565
|
response.raise_for_status()
|
|
4956
4566
|
return response.json()
|
|
4957
4567
|
|
|
4958
|
-
def update_a_project_s_symbol_source(
|
|
4568
|
+
async def update_a_project_s_symbol_source(
|
|
4959
4569
|
self,
|
|
4960
4570
|
organization_id_or_slug,
|
|
4961
4571
|
project_id_or_slug,
|
|
@@ -5078,9 +4688,7 @@ class SentryApp(APIApplication):
|
|
|
5078
4688
|
response.raise_for_status()
|
|
5079
4689
|
return response.json()
|
|
5080
4690
|
|
|
5081
|
-
def delete_a_symbol_source_from_a_project(
|
|
5082
|
-
self, organization_id_or_slug, project_id_or_slug, id
|
|
5083
|
-
) -> Any:
|
|
4691
|
+
async def delete_a_symbol_source_from_a_project(self, organization_id_or_slug, project_id_or_slug, id) -> Any:
|
|
5084
4692
|
"""
|
|
5085
4693
|
Deletes symbol sources from a specific project identified by organization ID or slug and project ID or slug using the provided ID, requiring project admin authentication.
|
|
5086
4694
|
|
|
@@ -5105,9 +4713,7 @@ class SentryApp(APIApplication):
|
|
|
5105
4713
|
response.raise_for_status()
|
|
5106
4714
|
return response.json()
|
|
5107
4715
|
|
|
5108
|
-
def list_a_project_s_teams(
|
|
5109
|
-
self, organization_id_or_slug, project_id_or_slug
|
|
5110
|
-
) -> list[Any]:
|
|
4716
|
+
async def list_a_project_s_teams(self, organization_id_or_slug, project_id_or_slug) -> list[Any]:
|
|
5111
4717
|
"""
|
|
5112
4718
|
Retrieves a list of teams within a specified project using the provided organization and project identifiers.
|
|
5113
4719
|
|
|
@@ -5131,9 +4737,7 @@ class SentryApp(APIApplication):
|
|
|
5131
4737
|
response.raise_for_status()
|
|
5132
4738
|
return response.json()
|
|
5133
4739
|
|
|
5134
|
-
def add_a_team_to_a_project(
|
|
5135
|
-
self, organization_id_or_slug, project_id_or_slug, team_id_or_slug
|
|
5136
|
-
) -> dict[str, Any]:
|
|
4740
|
+
async def add_a_team_to_a_project(self, organization_id_or_slug, project_id_or_slug, team_id_or_slug) -> dict[str, Any]:
|
|
5137
4741
|
"""
|
|
5138
4742
|
Adds a specified team to a project within an organization and returns a response indicating successful creation.
|
|
5139
4743
|
|
|
@@ -5160,9 +4764,7 @@ class SentryApp(APIApplication):
|
|
|
5160
4764
|
response.raise_for_status()
|
|
5161
4765
|
return response.json()
|
|
5162
4766
|
|
|
5163
|
-
def delete_a_team_from_a_project(
|
|
5164
|
-
self, organization_id_or_slug, project_id_or_slug, team_id_or_slug
|
|
5165
|
-
) -> dict[str, Any]:
|
|
4767
|
+
async def delete_a_team_from_a_project(self, organization_id_or_slug, project_id_or_slug, team_id_or_slug) -> dict[str, Any]:
|
|
5166
4768
|
"""
|
|
5167
4769
|
Deletes a team from a project within a specified organization using the API with appropriate permissions.
|
|
5168
4770
|
|
|
@@ -5189,9 +4791,7 @@ class SentryApp(APIApplication):
|
|
|
5189
4791
|
response.raise_for_status()
|
|
5190
4792
|
return response.json()
|
|
5191
4793
|
|
|
5192
|
-
def retrieve_a_team(
|
|
5193
|
-
self, organization_id_or_slug, team_id_or_slug, expand=None, collapse=None
|
|
5194
|
-
) -> dict[str, Any]:
|
|
4794
|
+
async def retrieve_a_team(self, organization_id_or_slug, team_id_or_slug, expand=None, collapse=None) -> dict[str, Any]:
|
|
5195
4795
|
"""
|
|
5196
4796
|
Retrieves information about a team within an organization using the provided organization ID or slug and team ID or slug, allowing optional expansion or collapse of additional details.
|
|
5197
4797
|
|
|
@@ -5211,21 +4811,13 @@ class SentryApp(APIApplication):
|
|
|
5211
4811
|
raise ValueError("Missing required parameter 'organization_id_or_slug'")
|
|
5212
4812
|
if team_id_or_slug is None:
|
|
5213
4813
|
raise ValueError("Missing required parameter 'team_id_or_slug'")
|
|
5214
|
-
url =
|
|
5215
|
-
|
|
5216
|
-
)
|
|
5217
|
-
query_params = {
|
|
5218
|
-
k: v
|
|
5219
|
-
for k, v in [("expand", expand), ("collapse", collapse)]
|
|
5220
|
-
if v is not None
|
|
5221
|
-
}
|
|
4814
|
+
url = f"{self.base_url}/api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/"
|
|
4815
|
+
query_params = {k: v for k, v in [("expand", expand), ("collapse", collapse)] if v is not None}
|
|
5222
4816
|
response = self._get(url, params=query_params)
|
|
5223
4817
|
response.raise_for_status()
|
|
5224
4818
|
return response.json()
|
|
5225
4819
|
|
|
5226
|
-
def update_a_team(
|
|
5227
|
-
self, organization_id_or_slug, team_id_or_slug, slug
|
|
5228
|
-
) -> dict[str, Any]:
|
|
4820
|
+
async def update_a_team(self, organization_id_or_slug, team_id_or_slug, slug) -> dict[str, Any]:
|
|
5229
4821
|
"""
|
|
5230
4822
|
Updates the details of a specified team within a given organization using the provided data and requires administrative or write permissions.
|
|
5231
4823
|
|
|
@@ -5244,19 +4836,15 @@ class SentryApp(APIApplication):
|
|
|
5244
4836
|
raise ValueError("Missing required parameter 'organization_id_or_slug'")
|
|
5245
4837
|
if team_id_or_slug is None:
|
|
5246
4838
|
raise ValueError("Missing required parameter 'team_id_or_slug'")
|
|
5247
|
-
request_body = {
|
|
5248
|
-
"slug": slug,
|
|
5249
|
-
}
|
|
4839
|
+
request_body = {"slug": slug}
|
|
5250
4840
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
5251
|
-
url =
|
|
5252
|
-
f"{self.base_url}/api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/"
|
|
5253
|
-
)
|
|
4841
|
+
url = f"{self.base_url}/api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/"
|
|
5254
4842
|
query_params = {}
|
|
5255
4843
|
response = self._put(url, data=request_body, params=query_params)
|
|
5256
4844
|
response.raise_for_status()
|
|
5257
4845
|
return response.json()
|
|
5258
4846
|
|
|
5259
|
-
def delete_a_team(self, organization_id_or_slug, team_id_or_slug) -> Any:
|
|
4847
|
+
async def delete_a_team(self, organization_id_or_slug, team_id_or_slug) -> Any:
|
|
5260
4848
|
"""
|
|
5261
4849
|
Deletes a team from an organization using the provided organization ID or slug and team ID or slug, requiring the team admin authentication token for authorization.
|
|
5262
4850
|
|
|
@@ -5274,22 +4862,14 @@ class SentryApp(APIApplication):
|
|
|
5274
4862
|
raise ValueError("Missing required parameter 'organization_id_or_slug'")
|
|
5275
4863
|
if team_id_or_slug is None:
|
|
5276
4864
|
raise ValueError("Missing required parameter 'team_id_or_slug'")
|
|
5277
|
-
url =
|
|
5278
|
-
f"{self.base_url}/api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/"
|
|
5279
|
-
)
|
|
4865
|
+
url = f"{self.base_url}/api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/"
|
|
5280
4866
|
query_params = {}
|
|
5281
4867
|
response = self._delete(url, params=query_params)
|
|
5282
4868
|
response.raise_for_status()
|
|
5283
4869
|
return response.json()
|
|
5284
4870
|
|
|
5285
|
-
def create_an_external_team(
|
|
5286
|
-
self,
|
|
5287
|
-
organization_id_or_slug,
|
|
5288
|
-
team_id_or_slug,
|
|
5289
|
-
external_name,
|
|
5290
|
-
provider,
|
|
5291
|
-
integration_id,
|
|
5292
|
-
external_id=None,
|
|
4871
|
+
async def create_an_external_team(
|
|
4872
|
+
self, organization_id_or_slug, team_id_or_slug, external_name, provider, integration_id, external_id=None
|
|
5293
4873
|
) -> dict[str, Any]:
|
|
5294
4874
|
"""
|
|
5295
4875
|
Create a new external team associated with a specified organization and team using the provided JSON data.
|
|
@@ -5319,12 +4899,7 @@ class SentryApp(APIApplication):
|
|
|
5319
4899
|
raise ValueError("Missing required parameter 'organization_id_or_slug'")
|
|
5320
4900
|
if team_id_or_slug is None:
|
|
5321
4901
|
raise ValueError("Missing required parameter 'team_id_or_slug'")
|
|
5322
|
-
request_body = {
|
|
5323
|
-
"external_name": external_name,
|
|
5324
|
-
"provider": provider,
|
|
5325
|
-
"integration_id": integration_id,
|
|
5326
|
-
"external_id": external_id,
|
|
5327
|
-
}
|
|
4902
|
+
request_body = {"external_name": external_name, "provider": provider, "integration_id": integration_id, "external_id": external_id}
|
|
5328
4903
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
5329
4904
|
url = f"{self.base_url}/api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/external-teams/"
|
|
5330
4905
|
query_params = {}
|
|
@@ -5332,15 +4907,8 @@ class SentryApp(APIApplication):
|
|
|
5332
4907
|
response.raise_for_status()
|
|
5333
4908
|
return response.json()
|
|
5334
4909
|
|
|
5335
|
-
def update_an_external_team(
|
|
5336
|
-
self,
|
|
5337
|
-
organization_id_or_slug,
|
|
5338
|
-
team_id_or_slug,
|
|
5339
|
-
external_team_id,
|
|
5340
|
-
external_name,
|
|
5341
|
-
provider,
|
|
5342
|
-
integration_id,
|
|
5343
|
-
external_id=None,
|
|
4910
|
+
async def update_an_external_team(
|
|
4911
|
+
self, organization_id_or_slug, team_id_or_slug, external_team_id, external_name, provider, integration_id, external_id=None
|
|
5344
4912
|
) -> dict[str, Any]:
|
|
5345
4913
|
"""
|
|
5346
4914
|
Updates an external team's details for a specified team and organization, requiring admin or write permissions, with the request body containing the updated data.
|
|
@@ -5373,12 +4941,7 @@ class SentryApp(APIApplication):
|
|
|
5373
4941
|
raise ValueError("Missing required parameter 'team_id_or_slug'")
|
|
5374
4942
|
if external_team_id is None:
|
|
5375
4943
|
raise ValueError("Missing required parameter 'external_team_id'")
|
|
5376
|
-
request_body = {
|
|
5377
|
-
"external_name": external_name,
|
|
5378
|
-
"provider": provider,
|
|
5379
|
-
"integration_id": integration_id,
|
|
5380
|
-
"external_id": external_id,
|
|
5381
|
-
}
|
|
4944
|
+
request_body = {"external_name": external_name, "provider": provider, "integration_id": integration_id, "external_id": external_id}
|
|
5382
4945
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
5383
4946
|
url = f"{self.base_url}/api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/external-teams/{external_team_id}/"
|
|
5384
4947
|
query_params = {}
|
|
@@ -5386,9 +4949,7 @@ class SentryApp(APIApplication):
|
|
|
5386
4949
|
response.raise_for_status()
|
|
5387
4950
|
return response.json()
|
|
5388
4951
|
|
|
5389
|
-
def delete_an_external_team(
|
|
5390
|
-
self, organization_id_or_slug, team_id_or_slug, external_team_id
|
|
5391
|
-
) -> Any:
|
|
4952
|
+
async def delete_an_external_team(self, organization_id_or_slug, team_id_or_slug, external_team_id) -> Any:
|
|
5392
4953
|
"""
|
|
5393
4954
|
Deletes an external team association with the specified team in an organization using the provided organization identifier, team identifier, and external team ID.
|
|
5394
4955
|
|
|
@@ -5415,9 +4976,7 @@ class SentryApp(APIApplication):
|
|
|
5415
4976
|
response.raise_for_status()
|
|
5416
4977
|
return response.json()
|
|
5417
4978
|
|
|
5418
|
-
def list_a_team_s_members(
|
|
5419
|
-
self, organization_id_or_slug, team_id_or_slug, cursor=None
|
|
5420
|
-
) -> list[Any]:
|
|
4979
|
+
async def list_a_team_s_members(self, organization_id_or_slug, team_id_or_slug, cursor=None) -> list[Any]:
|
|
5421
4980
|
"""
|
|
5422
4981
|
Retrieves a list of members belonging to the specified team within the given organization, supporting pagination via a cursor parameter.
|
|
5423
4982
|
|
|
@@ -5442,9 +5001,7 @@ class SentryApp(APIApplication):
|
|
|
5442
5001
|
response.raise_for_status()
|
|
5443
5002
|
return response.json()
|
|
5444
5003
|
|
|
5445
|
-
def list_a_team_s_projects(
|
|
5446
|
-
self, organization_id_or_slug, team_id_or_slug, cursor=None
|
|
5447
|
-
) -> list[Any]:
|
|
5004
|
+
async def list_a_team_s_projects(self, organization_id_or_slug, team_id_or_slug, cursor=None) -> list[Any]:
|
|
5448
5005
|
"""
|
|
5449
5006
|
Retrieves a paginated list of projects associated with a specific team within an organization, using optional cursor-based pagination.
|
|
5450
5007
|
|
|
@@ -5469,14 +5026,8 @@ class SentryApp(APIApplication):
|
|
|
5469
5026
|
response.raise_for_status()
|
|
5470
5027
|
return response.json()
|
|
5471
5028
|
|
|
5472
|
-
def create_a_new_project(
|
|
5473
|
-
self,
|
|
5474
|
-
organization_id_or_slug,
|
|
5475
|
-
team_id_or_slug,
|
|
5476
|
-
name,
|
|
5477
|
-
slug=None,
|
|
5478
|
-
platform=None,
|
|
5479
|
-
default_rules=None,
|
|
5029
|
+
async def create_a_new_project(
|
|
5030
|
+
self, organization_id_or_slug, team_id_or_slug, name, slug=None, platform=None, default_rules=None
|
|
5480
5031
|
) -> dict[str, Any]:
|
|
5481
5032
|
"""
|
|
5482
5033
|
Creates a new project within the specified team and organization using provided details and returns the project resource upon success.
|
|
@@ -5504,12 +5055,7 @@ class SentryApp(APIApplication):
|
|
|
5504
5055
|
raise ValueError("Missing required parameter 'organization_id_or_slug'")
|
|
5505
5056
|
if team_id_or_slug is None:
|
|
5506
5057
|
raise ValueError("Missing required parameter 'team_id_or_slug'")
|
|
5507
|
-
request_body = {
|
|
5508
|
-
"name": name,
|
|
5509
|
-
"slug": slug,
|
|
5510
|
-
"platform": platform,
|
|
5511
|
-
"default_rules": default_rules,
|
|
5512
|
-
}
|
|
5058
|
+
request_body = {"name": name, "slug": slug, "platform": platform, "default_rules": default_rules}
|
|
5513
5059
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
5514
5060
|
url = f"{self.base_url}/api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/projects/"
|
|
5515
5061
|
query_params = {}
|
|
@@ -5517,7 +5063,7 @@ class SentryApp(APIApplication):
|
|
|
5517
5063
|
response.raise_for_status()
|
|
5518
5064
|
return response.json()
|
|
5519
5065
|
|
|
5520
|
-
def list_user_emails(self, user_id) -> list[Any]:
|
|
5066
|
+
async def list_user_emails(self, user_id) -> list[Any]:
|
|
5521
5067
|
"""
|
|
5522
5068
|
Retrieves a list of email addresses associated with the specified user ID, requiring authentication.
|
|
5523
5069
|
|
|
@@ -5538,7 +5084,7 @@ class SentryApp(APIApplication):
|
|
|
5538
5084
|
response.raise_for_status()
|
|
5539
5085
|
return response.json()
|
|
5540
5086
|
|
|
5541
|
-
def add_a_secondary_email_address(self, user_id, email) -> list[Any]:
|
|
5087
|
+
async def add_a_secondary_email_address(self, user_id, email) -> list[Any]:
|
|
5542
5088
|
"""
|
|
5543
5089
|
Adds a new email address for a specified user using the provided JSON data and returns a success message.
|
|
5544
5090
|
|
|
@@ -5554,9 +5100,7 @@ class SentryApp(APIApplication):
|
|
|
5554
5100
|
"""
|
|
5555
5101
|
if user_id is None:
|
|
5556
5102
|
raise ValueError("Missing required parameter 'user_id'")
|
|
5557
|
-
request_body = {
|
|
5558
|
-
"email": email,
|
|
5559
|
-
}
|
|
5103
|
+
request_body = {"email": email}
|
|
5560
5104
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
5561
5105
|
url = f"{self.base_url}/api/0/users/{user_id}/emails/"
|
|
5562
5106
|
query_params = {}
|
|
@@ -5564,7 +5108,7 @@ class SentryApp(APIApplication):
|
|
|
5564
5108
|
response.raise_for_status()
|
|
5565
5109
|
return response.json()
|
|
5566
5110
|
|
|
5567
|
-
def update_a_primary_email_address(self, user_id, email) -> list[Any]:
|
|
5111
|
+
async def update_a_primary_email_address(self, user_id, email) -> list[Any]:
|
|
5568
5112
|
"""
|
|
5569
5113
|
Updates the email address of a user specified by the `user_id` using the provided JSON data in the request body.
|
|
5570
5114
|
|
|
@@ -5580,9 +5124,7 @@ class SentryApp(APIApplication):
|
|
|
5580
5124
|
"""
|
|
5581
5125
|
if user_id is None:
|
|
5582
5126
|
raise ValueError("Missing required parameter 'user_id'")
|
|
5583
|
-
request_body = {
|
|
5584
|
-
"email": email,
|
|
5585
|
-
}
|
|
5127
|
+
request_body = {"email": email}
|
|
5586
5128
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
5587
5129
|
url = f"{self.base_url}/api/0/users/{user_id}/emails/"
|
|
5588
5130
|
query_params = {}
|
|
@@ -5590,7 +5132,7 @@ class SentryApp(APIApplication):
|
|
|
5590
5132
|
response.raise_for_status()
|
|
5591
5133
|
return response.json()
|
|
5592
5134
|
|
|
5593
|
-
def remove_an_email_address(self, user_id) -> Any:
|
|
5135
|
+
async def remove_an_email_address(self, user_id) -> Any:
|
|
5594
5136
|
"""
|
|
5595
5137
|
Deletes a user's email configurations associated with the specified user ID using the DELETE method.
|
|
5596
5138
|
|
|
@@ -5611,14 +5153,8 @@ class SentryApp(APIApplication):
|
|
|
5611
5153
|
response.raise_for_status()
|
|
5612
5154
|
return response.json()
|
|
5613
5155
|
|
|
5614
|
-
def retrieve_event_counts_for_a_team(
|
|
5615
|
-
self,
|
|
5616
|
-
organization_id_or_slug,
|
|
5617
|
-
team_id_or_slug,
|
|
5618
|
-
stat=None,
|
|
5619
|
-
since=None,
|
|
5620
|
-
until=None,
|
|
5621
|
-
resolution=None,
|
|
5156
|
+
async def retrieve_event_counts_for_a_team(
|
|
5157
|
+
self, organization_id_or_slug, team_id_or_slug, stat=None, since=None, until=None, resolution=None
|
|
5622
5158
|
) -> list[Any]:
|
|
5623
5159
|
"""
|
|
5624
5160
|
Retrieves team statistics for a specified organization and team, allowing filtering by specific stat, date range, and resolution.
|
|
@@ -5642,21 +5178,12 @@ class SentryApp(APIApplication):
|
|
|
5642
5178
|
if team_id_or_slug is None:
|
|
5643
5179
|
raise ValueError("Missing required parameter 'team_id_or_slug'")
|
|
5644
5180
|
url = f"{self.base_url}/api/0/teams/{organization_id_or_slug}/{team_id_or_slug}/stats/"
|
|
5645
|
-
query_params = {
|
|
5646
|
-
k: v
|
|
5647
|
-
for k, v in [
|
|
5648
|
-
("stat", stat),
|
|
5649
|
-
("since", since),
|
|
5650
|
-
("until", until),
|
|
5651
|
-
("resolution", resolution),
|
|
5652
|
-
]
|
|
5653
|
-
if v is not None
|
|
5654
|
-
}
|
|
5181
|
+
query_params = {k: v for k, v in [("stat", stat), ("since", since), ("until", until), ("resolution", resolution)] if v is not None}
|
|
5655
5182
|
response = self._get(url, params=query_params)
|
|
5656
5183
|
response.raise_for_status()
|
|
5657
5184
|
return response.json()
|
|
5658
5185
|
|
|
5659
|
-
def resolve_an_event_id(self, organization_id_or_slug, event_id) -> dict[str, Any]:
|
|
5186
|
+
async def resolve_an_event_id(self, organization_id_or_slug, event_id) -> dict[str, Any]:
|
|
5660
5187
|
"""
|
|
5661
5188
|
Retrieves event details for a specific event within an organization identified by the provided organization ID or slug and event ID.
|
|
5662
5189
|
|
|
@@ -5680,7 +5207,7 @@ class SentryApp(APIApplication):
|
|
|
5680
5207
|
response.raise_for_status()
|
|
5681
5208
|
return response.json()
|
|
5682
5209
|
|
|
5683
|
-
def list_an_organization_s_repositories(self, organization_id_or_slug) -> list[Any]:
|
|
5210
|
+
async def list_an_organization_s_repositories(self, organization_id_or_slug) -> list[Any]:
|
|
5684
5211
|
"""
|
|
5685
5212
|
Retrieves a list of repositories for the specified organization identified by its ID or slug, requiring organization read authorization.
|
|
5686
5213
|
|
|
@@ -5701,9 +5228,7 @@ class SentryApp(APIApplication):
|
|
|
5701
5228
|
response.raise_for_status()
|
|
5702
5229
|
return response.json()
|
|
5703
5230
|
|
|
5704
|
-
def list_a_repository_s_commits(
|
|
5705
|
-
self, organization_id_or_slug, repo_id
|
|
5706
|
-
) -> list[Any]:
|
|
5231
|
+
async def list_a_repository_s_commits(self, organization_id_or_slug, repo_id) -> list[Any]:
|
|
5707
5232
|
"""
|
|
5708
5233
|
Retrieves a list of commits from a specified repository within an organization, requiring read access for authentication.
|
|
5709
5234
|
|
|
@@ -5727,7 +5252,7 @@ class SentryApp(APIApplication):
|
|
|
5727
5252
|
response.raise_for_status()
|
|
5728
5253
|
return response.json()
|
|
5729
5254
|
|
|
5730
|
-
def resolve_a_short_id(self, organization_id_or_slug, short_id) -> dict[str, Any]:
|
|
5255
|
+
async def resolve_a_short_id(self, organization_id_or_slug, short_id) -> dict[str, Any]:
|
|
5731
5256
|
"""
|
|
5732
5257
|
Retrieves information for a specific short ID within an organization using the provided organization ID or slug.
|
|
5733
5258
|
|
|
@@ -5751,7 +5276,7 @@ class SentryApp(APIApplication):
|
|
|
5751
5276
|
response.raise_for_status()
|
|
5752
5277
|
return response.json()
|
|
5753
5278
|
|
|
5754
|
-
def list_your_projects(self, cursor=None) -> list[Any]:
|
|
5279
|
+
async def list_your_projects(self, cursor=None) -> list[Any]:
|
|
5755
5280
|
"""
|
|
5756
5281
|
Get a list of projects accessible to the user, optionally paginated using a cursor.
|
|
5757
5282
|
|
|
@@ -5770,9 +5295,7 @@ class SentryApp(APIApplication):
|
|
|
5770
5295
|
response.raise_for_status()
|
|
5771
5296
|
return response.json()
|
|
5772
5297
|
|
|
5773
|
-
def list_project_debug_files(
|
|
5774
|
-
self, organization_id_or_slug, project_id_or_slug
|
|
5775
|
-
) -> Any:
|
|
5298
|
+
async def list_project_debug_files(self, organization_id_or_slug, project_id_or_slug) -> Any:
|
|
5776
5299
|
"""
|
|
5777
5300
|
Retrieves a list of dSYM files for a specific project within an organization using the provided organization ID or slug and project ID or slug.
|
|
5778
5301
|
|
|
@@ -5796,9 +5319,7 @@ class SentryApp(APIApplication):
|
|
|
5796
5319
|
response.raise_for_status()
|
|
5797
5320
|
return response.json()
|
|
5798
5321
|
|
|
5799
|
-
def delete_project_debug_file(
|
|
5800
|
-
self, organization_id_or_slug, project_id_or_slug, id
|
|
5801
|
-
) -> Any:
|
|
5322
|
+
async def delete_project_debug_file(self, organization_id_or_slug, project_id_or_slug, id) -> Any:
|
|
5802
5323
|
"""
|
|
5803
5324
|
Deletes a dSYM file from a project using its ID, requiring a write authorization token for the project.
|
|
5804
5325
|
|
|
@@ -5823,9 +5344,7 @@ class SentryApp(APIApplication):
|
|
|
5823
5344
|
response.raise_for_status()
|
|
5824
5345
|
return response.json()
|
|
5825
5346
|
|
|
5826
|
-
def list_a_project_s_users(
|
|
5827
|
-
self, organization_id_or_slug, project_id_or_slug, query=None
|
|
5828
|
-
) -> list[Any]:
|
|
5347
|
+
async def list_a_project_s_users(self, organization_id_or_slug, project_id_or_slug, query=None) -> list[Any]:
|
|
5829
5348
|
"""
|
|
5830
5349
|
Retrieves a list of users associated with a specified project within an organization, optionally filtered by a query parameter.
|
|
5831
5350
|
|
|
@@ -5850,9 +5369,7 @@ class SentryApp(APIApplication):
|
|
|
5850
5369
|
response.raise_for_status()
|
|
5851
5370
|
return response.json()
|
|
5852
5371
|
|
|
5853
|
-
def list_a_tag_s_values(
|
|
5854
|
-
self, organization_id_or_slug, project_id_or_slug, key
|
|
5855
|
-
) -> list[Any]:
|
|
5372
|
+
async def list_a_tag_s_values(self, organization_id_or_slug, project_id_or_slug, key) -> list[Any]:
|
|
5856
5373
|
"""
|
|
5857
5374
|
Retrieves a list of values for a specific tag key within a project, using the organization ID or slug and project ID or slug.
|
|
5858
5375
|
|
|
@@ -5879,14 +5396,8 @@ class SentryApp(APIApplication):
|
|
|
5879
5396
|
response.raise_for_status()
|
|
5880
5397
|
return response.json()
|
|
5881
5398
|
|
|
5882
|
-
def retrieve_event_counts_for_a_project(
|
|
5883
|
-
self,
|
|
5884
|
-
organization_id_or_slug,
|
|
5885
|
-
project_id_or_slug,
|
|
5886
|
-
stat=None,
|
|
5887
|
-
since=None,
|
|
5888
|
-
until=None,
|
|
5889
|
-
resolution=None,
|
|
5399
|
+
async def retrieve_event_counts_for_a_project(
|
|
5400
|
+
self, organization_id_or_slug, project_id_or_slug, stat=None, since=None, until=None, resolution=None
|
|
5890
5401
|
) -> list[Any]:
|
|
5891
5402
|
"""
|
|
5892
5403
|
Retrieves statistics for a specific project within an organization, optionally filtered by stat type, time range, and resolution.
|
|
@@ -5910,23 +5421,12 @@ class SentryApp(APIApplication):
|
|
|
5910
5421
|
if project_id_or_slug is None:
|
|
5911
5422
|
raise ValueError("Missing required parameter 'project_id_or_slug'")
|
|
5912
5423
|
url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/stats/"
|
|
5913
|
-
query_params = {
|
|
5914
|
-
k: v
|
|
5915
|
-
for k, v in [
|
|
5916
|
-
("stat", stat),
|
|
5917
|
-
("since", since),
|
|
5918
|
-
("until", until),
|
|
5919
|
-
("resolution", resolution),
|
|
5920
|
-
]
|
|
5921
|
-
if v is not None
|
|
5922
|
-
}
|
|
5424
|
+
query_params = {k: v for k, v in [("stat", stat), ("since", since), ("until", until), ("resolution", resolution)] if v is not None}
|
|
5923
5425
|
response = self._get(url, params=query_params)
|
|
5924
5426
|
response.raise_for_status()
|
|
5925
5427
|
return response.json()
|
|
5926
5428
|
|
|
5927
|
-
def list_a_project_s_user_feedback(
|
|
5928
|
-
self, organization_id_or_slug, project_id_or_slug
|
|
5929
|
-
) -> list[Any]:
|
|
5429
|
+
async def list_a_project_s_user_feedback(self, organization_id_or_slug, project_id_or_slug) -> list[Any]:
|
|
5930
5430
|
"""
|
|
5931
5431
|
Retrieves a list of user feedback items for a specified project within an organization.
|
|
5932
5432
|
|
|
@@ -5950,14 +5450,8 @@ class SentryApp(APIApplication):
|
|
|
5950
5450
|
response.raise_for_status()
|
|
5951
5451
|
return response.json()
|
|
5952
5452
|
|
|
5953
|
-
def submit_user_feedback(
|
|
5954
|
-
self,
|
|
5955
|
-
organization_id_or_slug,
|
|
5956
|
-
project_id_or_slug,
|
|
5957
|
-
event_id=None,
|
|
5958
|
-
name=None,
|
|
5959
|
-
email=None,
|
|
5960
|
-
comments=None,
|
|
5453
|
+
async def submit_user_feedback(
|
|
5454
|
+
self, organization_id_or_slug, project_id_or_slug, event_id=None, name=None, email=None, comments=None
|
|
5961
5455
|
) -> dict[str, Any]:
|
|
5962
5456
|
"""
|
|
5963
5457
|
Submits user feedback for a specific project within an organization using the provided JSON body and authenticates via an authentication token with project write permissions.
|
|
@@ -5989,12 +5483,7 @@ class SentryApp(APIApplication):
|
|
|
5989
5483
|
raise ValueError("Missing required parameter 'organization_id_or_slug'")
|
|
5990
5484
|
if project_id_or_slug is None:
|
|
5991
5485
|
raise ValueError("Missing required parameter 'project_id_or_slug'")
|
|
5992
|
-
request_body = {
|
|
5993
|
-
"event_id": event_id,
|
|
5994
|
-
"name": name,
|
|
5995
|
-
"email": email,
|
|
5996
|
-
"comments": comments,
|
|
5997
|
-
}
|
|
5486
|
+
request_body = {"event_id": event_id, "name": name, "email": email, "comments": comments}
|
|
5998
5487
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
5999
5488
|
url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/user-feedback/"
|
|
6000
5489
|
query_params = {}
|
|
@@ -6002,9 +5491,7 @@ class SentryApp(APIApplication):
|
|
|
6002
5491
|
response.raise_for_status()
|
|
6003
5492
|
return response.json()
|
|
6004
5493
|
|
|
6005
|
-
def list_a_project_s_service_hooks(
|
|
6006
|
-
self, organization_id_or_slug, project_id_or_slug, cursor=None
|
|
6007
|
-
) -> list[Any]:
|
|
5494
|
+
async def list_a_project_s_service_hooks(self, organization_id_or_slug, project_id_or_slug, cursor=None) -> list[Any]:
|
|
6008
5495
|
"""
|
|
6009
5496
|
Retrieves a list of hooks for a specific project within an organization using the project and organization identifiers.
|
|
6010
5497
|
|
|
@@ -6029,9 +5516,7 @@ class SentryApp(APIApplication):
|
|
|
6029
5516
|
response.raise_for_status()
|
|
6030
5517
|
return response.json()
|
|
6031
5518
|
|
|
6032
|
-
def register_a_new_service_hook(
|
|
6033
|
-
self, organization_id_or_slug, project_id_or_slug, url, events
|
|
6034
|
-
) -> dict[str, Any]:
|
|
5519
|
+
async def register_a_new_service_hook(self, organization_id_or_slug, project_id_or_slug, url, events) -> dict[str, Any]:
|
|
6035
5520
|
"""
|
|
6036
5521
|
Creates a new webhook for the specified project within an organization and returns a success status upon creation.
|
|
6037
5522
|
|
|
@@ -6061,10 +5546,7 @@ class SentryApp(APIApplication):
|
|
|
6061
5546
|
raise ValueError("Missing required parameter 'organization_id_or_slug'")
|
|
6062
5547
|
if project_id_or_slug is None:
|
|
6063
5548
|
raise ValueError("Missing required parameter 'project_id_or_slug'")
|
|
6064
|
-
request_body = {
|
|
6065
|
-
"url": url,
|
|
6066
|
-
"events": events,
|
|
6067
|
-
}
|
|
5549
|
+
request_body = {"url": url, "events": events}
|
|
6068
5550
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
6069
5551
|
url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/hooks/"
|
|
6070
5552
|
query_params = {}
|
|
@@ -6072,9 +5554,7 @@ class SentryApp(APIApplication):
|
|
|
6072
5554
|
response.raise_for_status()
|
|
6073
5555
|
return response.json()
|
|
6074
5556
|
|
|
6075
|
-
def retrieve_a_service_hook(
|
|
6076
|
-
self, organization_id_or_slug, project_id_or_slug, hook_id
|
|
6077
|
-
) -> dict[str, Any]:
|
|
5557
|
+
async def retrieve_a_service_hook(self, organization_id_or_slug, project_id_or_slug, hook_id) -> dict[str, Any]:
|
|
6078
5558
|
"""
|
|
6079
5559
|
Retrieves a specific hook from a project using organization and project identifiers.
|
|
6080
5560
|
|
|
@@ -6101,14 +5581,7 @@ class SentryApp(APIApplication):
|
|
|
6101
5581
|
response.raise_for_status()
|
|
6102
5582
|
return response.json()
|
|
6103
5583
|
|
|
6104
|
-
def update_a_service_hook(
|
|
6105
|
-
self,
|
|
6106
|
-
organization_id_or_slug,
|
|
6107
|
-
project_id_or_slug,
|
|
6108
|
-
hook_id,
|
|
6109
|
-
url=None,
|
|
6110
|
-
events=None,
|
|
6111
|
-
) -> dict[str, Any]:
|
|
5584
|
+
async def update_a_service_hook(self, organization_id_or_slug, project_id_or_slug, hook_id, url=None, events=None) -> dict[str, Any]:
|
|
6112
5585
|
"""
|
|
6113
5586
|
Updates a specific hook in a project using the provided JSON payload and returns a success response upon completion.
|
|
6114
5587
|
|
|
@@ -6141,10 +5614,7 @@ class SentryApp(APIApplication):
|
|
|
6141
5614
|
raise ValueError("Missing required parameter 'project_id_or_slug'")
|
|
6142
5615
|
if hook_id is None:
|
|
6143
5616
|
raise ValueError("Missing required parameter 'hook_id'")
|
|
6144
|
-
request_body = {
|
|
6145
|
-
"url": url,
|
|
6146
|
-
"events": events,
|
|
6147
|
-
}
|
|
5617
|
+
request_body = {"url": url, "events": events}
|
|
6148
5618
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
6149
5619
|
url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/hooks/{hook_id}/"
|
|
6150
5620
|
query_params = {}
|
|
@@ -6152,9 +5622,7 @@ class SentryApp(APIApplication):
|
|
|
6152
5622
|
response.raise_for_status()
|
|
6153
5623
|
return response.json()
|
|
6154
5624
|
|
|
6155
|
-
def remove_a_service_hook(
|
|
6156
|
-
self, organization_id_or_slug, project_id_or_slug, hook_id
|
|
6157
|
-
) -> Any:
|
|
5625
|
+
async def remove_a_service_hook(self, organization_id_or_slug, project_id_or_slug, hook_id) -> Any:
|
|
6158
5626
|
"""
|
|
6159
5627
|
Deletes a webhook hook identified by the specified hook ID within a project, requiring administrative privileges for the project.
|
|
6160
5628
|
|
|
@@ -6181,9 +5649,7 @@ class SentryApp(APIApplication):
|
|
|
6181
5649
|
response.raise_for_status()
|
|
6182
5650
|
return response.json()
|
|
6183
5651
|
|
|
6184
|
-
def retrieve_an_event_for_a_project(
|
|
6185
|
-
self, organization_id_or_slug, project_id_or_slug, event_id
|
|
6186
|
-
) -> dict[str, Any]:
|
|
5652
|
+
async def retrieve_an_event_for_a_project(self, organization_id_or_slug, project_id_or_slug, event_id) -> dict[str, Any]:
|
|
6187
5653
|
"""
|
|
6188
5654
|
Retrieves details for a specific event within a project using the organization ID or slug and project ID or slug.
|
|
6189
5655
|
|
|
@@ -6210,15 +5676,8 @@ class SentryApp(APIApplication):
|
|
|
6210
5676
|
response.raise_for_status()
|
|
6211
5677
|
return response.json()
|
|
6212
5678
|
|
|
6213
|
-
def list_project_issues(
|
|
6214
|
-
self,
|
|
6215
|
-
organization_id_or_slug,
|
|
6216
|
-
project_id_or_slug,
|
|
6217
|
-
statsPeriod=None,
|
|
6218
|
-
shortIdLookup=None,
|
|
6219
|
-
query=None,
|
|
6220
|
-
hashes=None,
|
|
6221
|
-
cursor=None,
|
|
5679
|
+
async def list_project_issues(
|
|
5680
|
+
self, organization_id_or_slug, project_id_or_slug, statsPeriod=None, shortIdLookup=None, query=None, hashes=None, cursor=None
|
|
6222
5681
|
) -> list[Any]:
|
|
6223
5682
|
"""
|
|
6224
5683
|
Get a list of issues for a specified project within an organization, with optional filters for query, stats period, short ID lookup, hashes, and pagination.
|
|
@@ -6258,7 +5717,7 @@ class SentryApp(APIApplication):
|
|
|
6258
5717
|
response.raise_for_status()
|
|
6259
5718
|
return response.json()
|
|
6260
5719
|
|
|
6261
|
-
def bulk_mutate_a_list_of_issues(
|
|
5720
|
+
async def bulk_mutate_a_list_of_issues(
|
|
6262
5721
|
self,
|
|
6263
5722
|
organization_id_or_slug,
|
|
6264
5723
|
project_id_or_slug,
|
|
@@ -6319,16 +5778,12 @@ class SentryApp(APIApplication):
|
|
|
6319
5778
|
}
|
|
6320
5779
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
6321
5780
|
url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/issues/"
|
|
6322
|
-
query_params = {
|
|
6323
|
-
k: v for k, v in [("id", id), ("status", status)] if v is not None
|
|
6324
|
-
}
|
|
5781
|
+
query_params = {k: v for k, v in [("id", id), ("status", status)] if v is not None}
|
|
6325
5782
|
response = self._put(url, data=request_body, params=query_params)
|
|
6326
5783
|
response.raise_for_status()
|
|
6327
5784
|
return response.json()
|
|
6328
5785
|
|
|
6329
|
-
def bulk_remove_a_list_of_issues(
|
|
6330
|
-
self, organization_id_or_slug, project_id_or_slug, id=None
|
|
6331
|
-
) -> Any:
|
|
5786
|
+
async def bulk_remove_a_list_of_issues(self, organization_id_or_slug, project_id_or_slug, id=None) -> Any:
|
|
6332
5787
|
"""
|
|
6333
5788
|
Deletes issues from a project by organization or project identifier using the "DELETE" method, requiring authentication as an event administrator.
|
|
6334
5789
|
|
|
@@ -6353,9 +5808,7 @@ class SentryApp(APIApplication):
|
|
|
6353
5808
|
response.raise_for_status()
|
|
6354
5809
|
return response.json()
|
|
6355
5810
|
|
|
6356
|
-
def list_a_tag_s_values_related_to_an_issue(
|
|
6357
|
-
self, organization_id_or_slug, issue_id, key
|
|
6358
|
-
) -> list[Any]:
|
|
5811
|
+
async def list_a_tag_s_values_related_to_an_issue(self, organization_id_or_slug, issue_id, key) -> list[Any]:
|
|
6359
5812
|
"""
|
|
6360
5813
|
Retrieves the available values for a specific tag key associated with an issue within the specified organization.
|
|
6361
5814
|
|
|
@@ -6382,9 +5835,7 @@ class SentryApp(APIApplication):
|
|
|
6382
5835
|
response.raise_for_status()
|
|
6383
5836
|
return response.json()
|
|
6384
5837
|
|
|
6385
|
-
def list_an_issue_s_hashes(
|
|
6386
|
-
self, organization_id_or_slug, issue_id, full=None, cursor=None
|
|
6387
|
-
) -> list[Any]:
|
|
5838
|
+
async def list_an_issue_s_hashes(self, organization_id_or_slug, issue_id, full=None, cursor=None) -> list[Any]:
|
|
6388
5839
|
"""
|
|
6389
5840
|
Retrieves hashes for a specific issue in an organization using the provided organization ID or slug and issue ID, optionally including additional details if the "full" query parameter is set.
|
|
6390
5841
|
|
|
@@ -6405,14 +5856,12 @@ class SentryApp(APIApplication):
|
|
|
6405
5856
|
if issue_id is None:
|
|
6406
5857
|
raise ValueError("Missing required parameter 'issue_id'")
|
|
6407
5858
|
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/issues/{issue_id}/hashes/"
|
|
6408
|
-
query_params = {
|
|
6409
|
-
k: v for k, v in [("full", full), ("cursor", cursor)] if v is not None
|
|
6410
|
-
}
|
|
5859
|
+
query_params = {k: v for k, v in [("full", full), ("cursor", cursor)] if v is not None}
|
|
6411
5860
|
response = self._get(url, params=query_params)
|
|
6412
5861
|
response.raise_for_status()
|
|
6413
5862
|
return response.json()
|
|
6414
5863
|
|
|
6415
|
-
def retrieve_an_issue(self, organization_id_or_slug, issue_id) -> dict[str, Any]:
|
|
5864
|
+
async def retrieve_an_issue(self, organization_id_or_slug, issue_id) -> dict[str, Any]:
|
|
6416
5865
|
"""
|
|
6417
5866
|
Retrieves details about a specific issue within an organization using the provided organization ID or slug and issue ID.
|
|
6418
5867
|
|
|
@@ -6436,7 +5885,7 @@ class SentryApp(APIApplication):
|
|
|
6436
5885
|
response.raise_for_status()
|
|
6437
5886
|
return response.json()
|
|
6438
5887
|
|
|
6439
|
-
def update_an_issue(
|
|
5888
|
+
async def update_an_issue(
|
|
6440
5889
|
self,
|
|
6441
5890
|
organization_id_or_slug,
|
|
6442
5891
|
issue_id,
|
|
@@ -6494,7 +5943,7 @@ class SentryApp(APIApplication):
|
|
|
6494
5943
|
response.raise_for_status()
|
|
6495
5944
|
return response.json()
|
|
6496
5945
|
|
|
6497
|
-
def remove_an_issue(self, organization_id_or_slug, issue_id) -> Any:
|
|
5946
|
+
async def remove_an_issue(self, organization_id_or_slug, issue_id) -> Any:
|
|
6498
5947
|
"""
|
|
6499
5948
|
Deletes an issue identified by `{issue_id}` within an organization specified by `{organization_id_or_slug}` using the DELETE method.
|
|
6500
5949
|
|
|
@@ -6518,9 +5967,7 @@ class SentryApp(APIApplication):
|
|
|
6518
5967
|
response.raise_for_status()
|
|
6519
5968
|
return response.json()
|
|
6520
5969
|
|
|
6521
|
-
def list_an_organization_s_releases(
|
|
6522
|
-
self, organization_id_or_slug, query=None
|
|
6523
|
-
) -> list[Any]:
|
|
5970
|
+
async def list_an_organization_s_releases(self, organization_id_or_slug, query=None) -> list[Any]:
|
|
6524
5971
|
"""
|
|
6525
5972
|
Retrieves a list of releases for a specified organization using the provided organization ID or slug, with optional query filtering.
|
|
6526
5973
|
|
|
@@ -6542,16 +5989,8 @@ class SentryApp(APIApplication):
|
|
|
6542
5989
|
response.raise_for_status()
|
|
6543
5990
|
return response.json()
|
|
6544
5991
|
|
|
6545
|
-
def create_a_new_release_for_an_organization(
|
|
6546
|
-
self,
|
|
6547
|
-
organization_id_or_slug,
|
|
6548
|
-
version=None,
|
|
6549
|
-
projects=None,
|
|
6550
|
-
ref=None,
|
|
6551
|
-
url=None,
|
|
6552
|
-
dateReleased=None,
|
|
6553
|
-
commits=None,
|
|
6554
|
-
refs=None,
|
|
5992
|
+
async def create_a_new_release_for_an_organization(
|
|
5993
|
+
self, organization_id_or_slug, version=None, projects=None, ref=None, url=None, dateReleased=None, commits=None, refs=None
|
|
6555
5994
|
) -> dict[str, Any]:
|
|
6556
5995
|
"""
|
|
6557
5996
|
Creates a new release for the specified organization using the provided release data.
|
|
@@ -6600,9 +6039,7 @@ class SentryApp(APIApplication):
|
|
|
6600
6039
|
response.raise_for_status()
|
|
6601
6040
|
return response.json()
|
|
6602
6041
|
|
|
6603
|
-
def list_an_organization_s_release_files(
|
|
6604
|
-
self, organization_id_or_slug, version
|
|
6605
|
-
) -> list[Any]:
|
|
6042
|
+
async def list_an_organization_s_release_files(self, organization_id_or_slug, version) -> list[Any]:
|
|
6606
6043
|
"""
|
|
6607
6044
|
Retrieves a list of files associated with a specific release version within an organization using the provided organization ID or slug and version number.
|
|
6608
6045
|
|
|
@@ -6626,9 +6063,7 @@ class SentryApp(APIApplication):
|
|
|
6626
6063
|
response.raise_for_status()
|
|
6627
6064
|
return response.json()
|
|
6628
6065
|
|
|
6629
|
-
def list_a_project_s_release_files(
|
|
6630
|
-
self, organization_id_or_slug, project_id_or_slug, version
|
|
6631
|
-
) -> list[Any]:
|
|
6066
|
+
async def list_a_project_s_release_files(self, organization_id_or_slug, project_id_or_slug, version) -> list[Any]:
|
|
6632
6067
|
"""
|
|
6633
6068
|
Get a list of files associated with a specific release version for a project within an organization.
|
|
6634
6069
|
|
|
@@ -6655,9 +6090,7 @@ class SentryApp(APIApplication):
|
|
|
6655
6090
|
response.raise_for_status()
|
|
6656
6091
|
return response.json()
|
|
6657
6092
|
|
|
6658
|
-
def retrieve_an_organization_release_s_file(
|
|
6659
|
-
self, organization_id_or_slug, version, file_id, download=None
|
|
6660
|
-
) -> dict[str, Any]:
|
|
6093
|
+
async def retrieve_an_organization_release_s_file(self, organization_id_or_slug, version, file_id, download=None) -> dict[str, Any]:
|
|
6661
6094
|
"""
|
|
6662
6095
|
Retrieves a file from a release in an organization using the provided organization ID or slug, version, and file ID, optionally allowing for file download.
|
|
6663
6096
|
|
|
@@ -6685,9 +6118,7 @@ class SentryApp(APIApplication):
|
|
|
6685
6118
|
response.raise_for_status()
|
|
6686
6119
|
return response.json()
|
|
6687
6120
|
|
|
6688
|
-
def update_an_organization_release_file(
|
|
6689
|
-
self, organization_id_or_slug, version, file_id, name=None, dist=None
|
|
6690
|
-
) -> dict[str, Any]:
|
|
6121
|
+
async def update_an_organization_release_file(self, organization_id_or_slug, version, file_id, name=None, dist=None) -> dict[str, Any]:
|
|
6691
6122
|
"""
|
|
6692
6123
|
Updates a file with the specified ID in a release of an organization using the provided JSON data.
|
|
6693
6124
|
|
|
@@ -6716,10 +6147,7 @@ class SentryApp(APIApplication):
|
|
|
6716
6147
|
raise ValueError("Missing required parameter 'version'")
|
|
6717
6148
|
if file_id is None:
|
|
6718
6149
|
raise ValueError("Missing required parameter 'file_id'")
|
|
6719
|
-
request_body = {
|
|
6720
|
-
"name": name,
|
|
6721
|
-
"dist": dist,
|
|
6722
|
-
}
|
|
6150
|
+
request_body = {"name": name, "dist": dist}
|
|
6723
6151
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
6724
6152
|
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/releases/{version}/files/{file_id}/"
|
|
6725
6153
|
query_params = {}
|
|
@@ -6727,9 +6155,7 @@ class SentryApp(APIApplication):
|
|
|
6727
6155
|
response.raise_for_status()
|
|
6728
6156
|
return response.json()
|
|
6729
6157
|
|
|
6730
|
-
def delete_an_organization_release_s_file(
|
|
6731
|
-
self, organization_id_or_slug, version, file_id
|
|
6732
|
-
) -> Any:
|
|
6158
|
+
async def delete_an_organization_release_s_file(self, organization_id_or_slug, version, file_id) -> Any:
|
|
6733
6159
|
"""
|
|
6734
6160
|
Deletes a specific file associated with a release in an organization using the provided organization ID or slug, version, and file ID.
|
|
6735
6161
|
|
|
@@ -6756,13 +6182,8 @@ class SentryApp(APIApplication):
|
|
|
6756
6182
|
response.raise_for_status()
|
|
6757
6183
|
return response.json()
|
|
6758
6184
|
|
|
6759
|
-
def retrieve_a_project_release_s_file(
|
|
6760
|
-
self,
|
|
6761
|
-
organization_id_or_slug,
|
|
6762
|
-
project_id_or_slug,
|
|
6763
|
-
version,
|
|
6764
|
-
file_id,
|
|
6765
|
-
download=None,
|
|
6185
|
+
async def retrieve_a_project_release_s_file(
|
|
6186
|
+
self, organization_id_or_slug, project_id_or_slug, version, file_id, download=None
|
|
6766
6187
|
) -> dict[str, Any]:
|
|
6767
6188
|
"""
|
|
6768
6189
|
Retrieves a specific file from a project release using the "GET" method, requiring organization ID or slug, project ID or slug, version, and file ID, and optionally allows for a download option via query parameter.
|
|
@@ -6794,14 +6215,8 @@ class SentryApp(APIApplication):
|
|
|
6794
6215
|
response.raise_for_status()
|
|
6795
6216
|
return response.json()
|
|
6796
6217
|
|
|
6797
|
-
def update_a_project_release_file(
|
|
6798
|
-
self,
|
|
6799
|
-
organization_id_or_slug,
|
|
6800
|
-
project_id_or_slug,
|
|
6801
|
-
version,
|
|
6802
|
-
file_id,
|
|
6803
|
-
name=None,
|
|
6804
|
-
dist=None,
|
|
6218
|
+
async def update_a_project_release_file(
|
|
6219
|
+
self, organization_id_or_slug, project_id_or_slug, version, file_id, name=None, dist=None
|
|
6805
6220
|
) -> dict[str, Any]:
|
|
6806
6221
|
"""
|
|
6807
6222
|
Updates a specific file associated with a project release using the provided JSON data.
|
|
@@ -6834,10 +6249,7 @@ class SentryApp(APIApplication):
|
|
|
6834
6249
|
raise ValueError("Missing required parameter 'version'")
|
|
6835
6250
|
if file_id is None:
|
|
6836
6251
|
raise ValueError("Missing required parameter 'file_id'")
|
|
6837
|
-
request_body = {
|
|
6838
|
-
"name": name,
|
|
6839
|
-
"dist": dist,
|
|
6840
|
-
}
|
|
6252
|
+
request_body = {"name": name, "dist": dist}
|
|
6841
6253
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
6842
6254
|
url = f"{self.base_url}/api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/releases/{version}/files/{file_id}/"
|
|
6843
6255
|
query_params = {}
|
|
@@ -6845,9 +6257,7 @@ class SentryApp(APIApplication):
|
|
|
6845
6257
|
response.raise_for_status()
|
|
6846
6258
|
return response.json()
|
|
6847
6259
|
|
|
6848
|
-
def delete_a_project_release_s_file(
|
|
6849
|
-
self, organization_id_or_slug, project_id_or_slug, version, file_id
|
|
6850
|
-
) -> Any:
|
|
6260
|
+
async def delete_a_project_release_s_file(self, organization_id_or_slug, project_id_or_slug, version, file_id) -> Any:
|
|
6851
6261
|
"""
|
|
6852
6262
|
Deletes a specific file from a release version in a project using the organization and project identifiers.
|
|
6853
6263
|
|
|
@@ -6877,9 +6287,7 @@ class SentryApp(APIApplication):
|
|
|
6877
6287
|
response.raise_for_status()
|
|
6878
6288
|
return response.json()
|
|
6879
6289
|
|
|
6880
|
-
def list_an_organization_release_s_commits(
|
|
6881
|
-
self, organization_id_or_slug, version
|
|
6882
|
-
) -> list[Any]:
|
|
6290
|
+
async def list_an_organization_release_s_commits(self, organization_id_or_slug, version) -> list[Any]:
|
|
6883
6291
|
"""
|
|
6884
6292
|
Retrieves a list of commits for a specific version within an organization using the provided organization ID or slug and version number.
|
|
6885
6293
|
|
|
@@ -6903,9 +6311,7 @@ class SentryApp(APIApplication):
|
|
|
6903
6311
|
response.raise_for_status()
|
|
6904
6312
|
return response.json()
|
|
6905
6313
|
|
|
6906
|
-
def list_a_project_release_s_commits(
|
|
6907
|
-
self, organization_id_or_slug, project_id_or_slug, version
|
|
6908
|
-
) -> list[Any]:
|
|
6314
|
+
async def list_a_project_release_s_commits(self, organization_id_or_slug, project_id_or_slug, version) -> list[Any]:
|
|
6909
6315
|
"""
|
|
6910
6316
|
Get the list of commits associated with a specific release version in a project within an organization.
|
|
6911
6317
|
|
|
@@ -6932,9 +6338,7 @@ class SentryApp(APIApplication):
|
|
|
6932
6338
|
response.raise_for_status()
|
|
6933
6339
|
return response.json()
|
|
6934
6340
|
|
|
6935
|
-
def retrieve_files_changed_in_a_release_s_commits(
|
|
6936
|
-
self, organization_id_or_slug, version
|
|
6937
|
-
) -> Any:
|
|
6341
|
+
async def retrieve_files_changed_in_a_release_s_commits(self, organization_id_or_slug, version) -> Any:
|
|
6938
6342
|
"""
|
|
6939
6343
|
Retrieves a list of commit files for a specific release version within an organization, identified by its ID or slug.
|
|
6940
6344
|
|
|
@@ -6958,7 +6362,7 @@ class SentryApp(APIApplication):
|
|
|
6958
6362
|
response.raise_for_status()
|
|
6959
6363
|
return response.json()
|
|
6960
6364
|
|
|
6961
|
-
def list_a_release_s_deploys(self, organization_id_or_slug, version) -> list[Any]:
|
|
6365
|
+
async def list_a_release_s_deploys(self, organization_id_or_slug, version) -> list[Any]:
|
|
6962
6366
|
"""
|
|
6963
6367
|
Retrieves deployment information for a specific release version within an organization.
|
|
6964
6368
|
|
|
@@ -6982,16 +6386,8 @@ class SentryApp(APIApplication):
|
|
|
6982
6386
|
response.raise_for_status()
|
|
6983
6387
|
return response.json()
|
|
6984
6388
|
|
|
6985
|
-
def create_a_new_deploy_for_an_organization(
|
|
6986
|
-
self,
|
|
6987
|
-
organization_id_or_slug,
|
|
6988
|
-
version,
|
|
6989
|
-
environment=None,
|
|
6990
|
-
url=None,
|
|
6991
|
-
name=None,
|
|
6992
|
-
projects=None,
|
|
6993
|
-
dateStarted=None,
|
|
6994
|
-
dateFinished=None,
|
|
6389
|
+
async def create_a_new_deploy_for_an_organization(
|
|
6390
|
+
self, organization_id_or_slug, version, environment=None, url=None, name=None, projects=None, dateStarted=None, dateFinished=None
|
|
6995
6391
|
) -> dict[str, Any]:
|
|
6996
6392
|
"""
|
|
6997
6393
|
Records a new deployment of a specific release version for an organization identified by its ID or slug and returns status codes indicating success, conflict, or error.
|
|
@@ -7037,9 +6433,7 @@ class SentryApp(APIApplication):
|
|
|
7037
6433
|
response.raise_for_status()
|
|
7038
6434
|
return response.json()
|
|
7039
6435
|
|
|
7040
|
-
def list_organization_integration_installations(
|
|
7041
|
-
self, organization_id_or_slug
|
|
7042
|
-
) -> list[Any]:
|
|
6436
|
+
async def list_organization_integration_installations(self, organization_id_or_slug) -> list[Any]:
|
|
7043
6437
|
"""
|
|
7044
6438
|
Retrieves a list of Sentry app installations for a specified organization using the organization ID or slug.
|
|
7045
6439
|
|
|
@@ -7060,9 +6454,7 @@ class SentryApp(APIApplication):
|
|
|
7060
6454
|
response.raise_for_status()
|
|
7061
6455
|
return response.json()
|
|
7062
6456
|
|
|
7063
|
-
def create_or_update_an_external_issue(
|
|
7064
|
-
self, uuid, issueId, webUrl, project, identifier
|
|
7065
|
-
) -> dict[str, Any]:
|
|
6457
|
+
async def create_or_update_an_external_issue(self, uuid, issueId, webUrl, project, identifier) -> dict[str, Any]:
|
|
7066
6458
|
"""
|
|
7067
6459
|
Creates or updates an external issue linked to a Sentry issue using the integration platform integration specified by the `uuid` path parameter, requiring authentication with a token having the `event:write` scope.
|
|
7068
6460
|
|
|
@@ -7090,12 +6482,7 @@ class SentryApp(APIApplication):
|
|
|
7090
6482
|
"""
|
|
7091
6483
|
if uuid is None:
|
|
7092
6484
|
raise ValueError("Missing required parameter 'uuid'")
|
|
7093
|
-
request_body = {
|
|
7094
|
-
"issueId": issueId,
|
|
7095
|
-
"webUrl": webUrl,
|
|
7096
|
-
"project": project,
|
|
7097
|
-
"identifier": identifier,
|
|
7098
|
-
}
|
|
6485
|
+
request_body = {"issueId": issueId, "webUrl": webUrl, "project": project, "identifier": identifier}
|
|
7099
6486
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
7100
6487
|
url = f"{self.base_url}/api/0/sentry-app-installations/{uuid}/external-issues/"
|
|
7101
6488
|
query_params = {}
|
|
@@ -7103,7 +6490,7 @@ class SentryApp(APIApplication):
|
|
|
7103
6490
|
response.raise_for_status()
|
|
7104
6491
|
return response.json()
|
|
7105
6492
|
|
|
7106
|
-
def delete_an_external_issue(self, uuid, external_issue_id) -> Any:
|
|
6493
|
+
async def delete_an_external_issue(self, uuid, external_issue_id) -> Any:
|
|
7107
6494
|
"""
|
|
7108
6495
|
Deletes an external issue associated with a specific integration installation in Sentry, requiring authentication with the `event:admin` scope.
|
|
7109
6496
|
|
|
@@ -7127,7 +6514,7 @@ class SentryApp(APIApplication):
|
|
|
7127
6514
|
response.raise_for_status()
|
|
7128
6515
|
return response.json()
|
|
7129
6516
|
|
|
7130
|
-
def enable_spike_protection(self, organization_id_or_slug, projects) -> Any:
|
|
6517
|
+
async def enable_spike_protection(self, organization_id_or_slug, projects) -> Any:
|
|
7131
6518
|
"""
|
|
7132
6519
|
Creates a new spike protection for an organization using the provided JSON data and returns a status message, requiring authentication with permissions to read, write, or administer projects.
|
|
7133
6520
|
|
|
@@ -7143,9 +6530,7 @@ class SentryApp(APIApplication):
|
|
|
7143
6530
|
"""
|
|
7144
6531
|
if organization_id_or_slug is None:
|
|
7145
6532
|
raise ValueError("Missing required parameter 'organization_id_or_slug'")
|
|
7146
|
-
request_body = {
|
|
7147
|
-
"projects": projects,
|
|
7148
|
-
}
|
|
6533
|
+
request_body = {"projects": projects}
|
|
7149
6534
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
7150
6535
|
url = f"{self.base_url}/api/0/organizations/{organization_id_or_slug}/spike-protections/"
|
|
7151
6536
|
query_params = {}
|
|
@@ -7153,16 +6538,8 @@ class SentryApp(APIApplication):
|
|
|
7153
6538
|
response.raise_for_status()
|
|
7154
6539
|
return response.json()
|
|
7155
6540
|
|
|
7156
|
-
def list_an_issue_s_events(
|
|
7157
|
-
self,
|
|
7158
|
-
issue_id,
|
|
7159
|
-
start=None,
|
|
7160
|
-
end=None,
|
|
7161
|
-
statsPeriod=None,
|
|
7162
|
-
environment=None,
|
|
7163
|
-
full=None,
|
|
7164
|
-
sample=None,
|
|
7165
|
-
query=None,
|
|
6541
|
+
async def list_an_issue_s_events(
|
|
6542
|
+
self, issue_id, start=None, end=None, statsPeriod=None, environment=None, full=None, sample=None, query=None
|
|
7166
6543
|
) -> list[Any]:
|
|
7167
6544
|
"""
|
|
7168
6545
|
Retrieves a list of events associated with a specific issue, optionally filtered by date range, environment, and other query parameters.
|
|
@@ -7203,9 +6580,7 @@ class SentryApp(APIApplication):
|
|
|
7203
6580
|
response.raise_for_status()
|
|
7204
6581
|
return response.json()
|
|
7205
6582
|
|
|
7206
|
-
def retrieve_an_issue_event(
|
|
7207
|
-
self, issue_id, event_id, environment=None
|
|
7208
|
-
) -> dict[str, Any]:
|
|
6583
|
+
async def retrieve_an_issue_event(self, issue_id, event_id, environment=None) -> dict[str, Any]:
|
|
7209
6584
|
"""
|
|
7210
6585
|
Retrieves event details for a specific event within an issue using the provided issue ID and event ID, optionally filtered by environment.
|
|
7211
6586
|
|
|
@@ -7225,14 +6600,12 @@ class SentryApp(APIApplication):
|
|
|
7225
6600
|
if event_id is None:
|
|
7226
6601
|
raise ValueError("Missing required parameter 'event_id'")
|
|
7227
6602
|
url = f"{self.base_url}/api/0/issues/{issue_id}/events/{event_id}/"
|
|
7228
|
-
query_params = {
|
|
7229
|
-
k: v for k, v in [("environment", environment)] if v is not None
|
|
7230
|
-
}
|
|
6603
|
+
query_params = {k: v for k, v in [("environment", environment)] if v is not None}
|
|
7231
6604
|
response = self._get(url, params=query_params)
|
|
7232
6605
|
response.raise_for_status()
|
|
7233
6606
|
return response.json()
|
|
7234
6607
|
|
|
7235
|
-
def retrieve_tag_details(self, issue_id, key, environment=None) -> dict[str, Any]:
|
|
6608
|
+
async def retrieve_tag_details(self, issue_id, key, environment=None) -> dict[str, Any]:
|
|
7236
6609
|
"""
|
|
7237
6610
|
Retrieves a tag for a specific issue based on the provided key, with optional filtering by environment.
|
|
7238
6611
|
|
|
@@ -7252,16 +6625,12 @@ class SentryApp(APIApplication):
|
|
|
7252
6625
|
if key is None:
|
|
7253
6626
|
raise ValueError("Missing required parameter 'key'")
|
|
7254
6627
|
url = f"{self.base_url}/api/0/issues/{issue_id}/tags/{key}/"
|
|
7255
|
-
query_params = {
|
|
7256
|
-
k: v for k, v in [("environment", environment)] if v is not None
|
|
7257
|
-
}
|
|
6628
|
+
query_params = {k: v for k, v in [("environment", environment)] if v is not None}
|
|
7258
6629
|
response = self._get(url, params=query_params)
|
|
7259
6630
|
response.raise_for_status()
|
|
7260
6631
|
return response.json()
|
|
7261
6632
|
|
|
7262
|
-
def list_a_tag_s_values_for_an_issue(
|
|
7263
|
-
self, issue_id, key, sort=None, environment=None
|
|
7264
|
-
) -> list[Any]:
|
|
6633
|
+
async def list_a_tag_s_values_for_an_issue(self, issue_id, key, sort=None, environment=None) -> list[Any]:
|
|
7265
6634
|
"""
|
|
7266
6635
|
Retrieves a list of values for a specific tag key associated with an issue, allowing optional sorting and filtering by environment.
|
|
7267
6636
|
|
|
@@ -7282,11 +6651,7 @@ class SentryApp(APIApplication):
|
|
|
7282
6651
|
if key is None:
|
|
7283
6652
|
raise ValueError("Missing required parameter 'key'")
|
|
7284
6653
|
url = f"{self.base_url}/api/0/issues/{issue_id}/tags/{key}/values/"
|
|
7285
|
-
query_params = {
|
|
7286
|
-
k: v
|
|
7287
|
-
for k, v in [("sort", sort), ("environment", environment)]
|
|
7288
|
-
if v is not None
|
|
7289
|
-
}
|
|
6654
|
+
query_params = {k: v for k, v in [("sort", sort), ("environment", environment)] if v is not None}
|
|
7290
6655
|
response = self._get(url, params=query_params)
|
|
7291
6656
|
response.raise_for_status()
|
|
7292
6657
|
return response.json()
|