def _make_request(self): action_to_past_tense = {"create": "created", "link": "linked"} try: req = send_and_save_sentry_app_request( self._build_url(), self.sentry_app, self.install.organization_id, "external_issue.{}".format(action_to_past_tense[self.action]), headers=self._build_headers(), method="POST", data=self.body, ) body = safe_urlread(req) response = json.loads(body) except Exception as e: logger.info( "issue-link-requester.error", extra={ "sentry_app": self.sentry_app.slug, "install": self.install.uuid, "project": self.group.project.slug, "group": self.group.id, "uri": self.uri, "error_message": str(e), }, ) response = {} if not self._validate_response(response): raise APIError() return response
def _make_request(self): try: body = safe_urlread( send_and_save_sentry_app_request( self._build_url(), self.sentry_app, self.install.organization_id, "select_options.requested", headers=self._build_headers(), )) response = json.loads(body) except Exception as e: logger.info( "select-requester.error", extra={ "sentry_app": self.sentry_app.slug, "install": self.install.uuid, "project": self.project and self.project.slug, "uri": self.uri, "error_message": six.text_type(e), }, ) response = {} if not self._validate_response(response): raise APIError() return self._format_response(response)
def _make_request(self) -> Mapping[str, Union[bool, str]]: try: req = send_and_save_sentry_app_request( self._build_url(), self.sentry_app, self.install.organization_id, "alert_rule_action.requested", headers=self._build_headers(), method=self.http_method, data=self.body, ) except Exception as e: logger.info( "alert_rule_action.error", extra={ "sentry_app_slug": self.sentry_app.slug, "install_uuid": self.install.uuid, "uri": self.uri, "error_message": str(e), }, ) message = f"{self.sentry_app.name}: {str(e.response.text) or DEFAULT_ERROR_MESSAGE}" # Bubble up error message from Sentry App to the UI for the user. return {"success": False, "message": message} body_raw = safe_urlread(req) body = body_raw.decode() if body_raw else None message = f"{self.sentry_app.name}: {body or DEFAULT_SUCCESS_MESSAGE}" return {"success": True, "message": message}
def _make_request(self): try: req = send_and_save_sentry_app_request( self._build_url(), self.sentry_app, self.install.organization_id, "alert_rule_action.requested", headers=self._build_headers(), method=self.http_method, data=self.body, ) body = safe_urlread(req) response = { "success": True, "message": "", "body": json.loads(body) } except Exception as e: logger.info( "alert_rule_action.error", extra={ "sentry_app_slug": self.sentry_app.slug, "install_uuid": self.install.uuid, "uri": self.uri, "error_message": str(e), }, ) # Bubble up error message from Sentry App to the UI for the user. response = { "success": False, "message": str(e.response.text), "body": {} } return response
def _make_request(self): try: req = send_and_save_sentry_app_request( self._build_url(), self.sentry_app, self.install.organization_id, "alert_rule_action.requested", headers=self._build_headers(), method=self.http_method, data=self.body, ) body = safe_urlread(req) response = json.loads(body) except Exception as e: logger.info( "alert_rule_action.error", extra={ "sentry_app_slug": self.sentry_app.slug, "install_uuid": self.install.uuid, "uri": self.uri, "error_message": str(e), }, ) response = {} return response