def get_body_for_http_request(payload: Dict[str, Any]) -> str: event_data = payload["event_data"] if event_data["event_type"] == "INCIDENT_OPEN" and payload["id"] == "1": return get_setup_webhook_message("Freshstatus") elif event_data["event_type"] == "INCIDENT_OPEN": return get_body_for_incident_open_event(payload) elif event_data["event_type"] == "INCIDENT_NOTE_CREATE": if payload["incident_status"] == "Closed": return FRESHSTATUS_MESSAGE_TEMPLATE_INCIDENT_CLOSED.format( **payload) elif payload["incident_status"] == "Open": return FRESHSTATUS_MESSAGE_TEMPLATE_INCIDENT_NOTE_CREATED.format( **payload) elif event_data["event_type"] == "MAINTENANCE_PLANNED": return get_body_for_maintenance_planned_event(payload) elif event_data["event_type"] == "MAINTENANCE_NOTE_CREATE": if payload["incident_status"] == "Closed": return FRESHSTATUS_MESSAGE_TEMPLATE_SCHEDULED_MAINTENANCE_CLOSED.format( **payload) else: return FRESHSTATUS_MESSAGE_TEMPLATE_SCHEDULED_MAINTENANCE_NOTE_CREATED.format( **payload) return FRESHSTATUS_MESSAGE_EVENT_NOT_SUPPORTED.format( event_type=event_data["event_type"])
def get_body_for_http_request(payload: WildValue) -> str: event_data = payload["event_data"] event_type = event_data["event_type"].tame(check_string) if event_type == "INCIDENT_OPEN" and payload["id"].tame( check_string) == "1": return get_setup_webhook_message("Freshstatus") elif event_type == "INCIDENT_OPEN": return get_body_for_incident_open_event(payload) elif event_type == "INCIDENT_NOTE_CREATE": incident_status = payload["incident_status"].tame(check_string) title = payload["title"].tame(check_string) message = payload["message"].tame(check_string) if incident_status == "Closed": return FRESHSTATUS_MESSAGE_TEMPLATE_INCIDENT_CLOSED.format( title=title, message=message) elif incident_status == "Open": return FRESHSTATUS_MESSAGE_TEMPLATE_INCIDENT_NOTE_CREATED.format( title=title, message=message) elif event_type == "MAINTENANCE_PLANNED": return get_body_for_maintenance_planned_event(payload) elif event_type == "MAINTENANCE_NOTE_CREATE": title = payload["title"].tame(check_string) message = payload["message"].tame(check_string) if payload["incident_status"].tame(check_string) == "Closed": return FRESHSTATUS_MESSAGE_TEMPLATE_SCHEDULED_MAINTENANCE_CLOSED.format( title=title, message=message) else: return FRESHSTATUS_MESSAGE_TEMPLATE_SCHEDULED_MAINTENANCE_NOTE_CREATED.format( title=title, message=message) return FRESHSTATUS_MESSAGE_EVENT_NOT_SUPPORTED.format( event_type=event_type)
def get_body_for_http_request(payload: Dict[str, Any]) -> str: webhook_event_data = payload["webhook_event_data"] if webhook_event_data["check_state_name"] == "Reporting Error": body = FRESHPING_MESSAGE_TEMPLATE_UNREACHABLE.format(**webhook_event_data) elif webhook_event_data["check_state_name"] == "Available": if webhook_event_data["application_name"] == "Webhook test": body = get_setup_webhook_message("Freshping") else: body = FRESHPING_MESSAGE_TEMPLATE_UP.format(**webhook_event_data) return body
def get_body_for_http_request(payload: Dict[str, Any]) -> str: if payload["eventType"] == "Test": return get_setup_webhook_message("Radarr") elif payload["eventType"] == "Health": return get_body_for_health_check_event(payload) elif payload["eventType"] == "Rename": return get_body_for_movie_renamed_event(payload) elif payload["eventType"] == "Download" and "isUpgrade" in payload: if payload["isUpgrade"]: return get_body_for_movie_imported_upgrade_event(payload) else: return get_body_for_movie_imported_event(payload) elif payload["eventType"] == "Grab": return get_body_for_movie_grabbed_event(payload) else: raise UnsupportedWebhookEventType(payload["eventType"])
def get_body_for_http_request(payload: WildValue) -> str: webhook_event_data = payload["webhook_event_data"] if webhook_event_data["check_state_name"].tame(check_string) == "Reporting Error": body = FRESHPING_MESSAGE_TEMPLATE_UNREACHABLE.format( request_url=webhook_event_data["request_url"].tame(check_string), http_status_code=webhook_event_data["http_status_code"].tame(check_int), ) elif webhook_event_data["check_state_name"].tame(check_string) == "Available": if webhook_event_data["application_name"].tame(check_string) == "Webhook test": body = get_setup_webhook_message("Freshping") else: body = FRESHPING_MESSAGE_TEMPLATE_UP.format( request_url=webhook_event_data["request_url"].tame(check_string) ) return body
def get_body_for_http_request(payload: Dict[str, Any]) -> str: if payload["eventType"] == "Test": return get_setup_webhook_message("Lidarr") elif payload["eventType"] == "Grab": return get_body_for_album_grabbed_event(payload) elif payload["eventType"] == "Rename": return get_body_for_tracks_renamed_event(payload) elif payload["eventType"] == "Retag": return get_body_for_tracks_retagged_event(payload) elif payload["eventType"] == "Download" and "isUpgrade" in payload: if payload["isUpgrade"]: return get_body_for_tracks_imported_upgrade_event(payload) else: return get_body_for_tracks_imported_event(payload) else: raise UnsupportedWebhookEventType(payload["eventType"])
def get_body_for_http_request(payload: Dict[str, Any]) -> str: if payload["eventType"] == "Test": return get_setup_webhook_message("Sonarr") elif payload["eventType"] == "Health": return get_body_for_health_check_event(payload) elif payload["eventType"] == "Rename": return get_body_for_episodes_renamed_event(payload) elif payload["eventType"] == "SeriesDelete": return get_body_for_series_deleted_event(payload) elif payload["eventType"] == "Download" and "isUpgrade" in payload: if payload["isUpgrade"]: return get_body_for_episode_imported_upgrade_event(payload) else: return get_body_for_episode_imported_event(payload) elif payload["eventType"] == "Grab": return get_body_for_episode_grabbed_event(payload) elif payload["eventType"] == "EpisodeFileDelete" and "deleteReason" in payload: if payload["deleteReason"] == "upgrade": return get_body_for_episode_deleted_upgrade_event(payload) else: return get_body_for_episode_deleted_event(payload) else: raise UnsupportedWebhookEventType(payload["eventType"])
def get_ping_body(helper: Helper) -> str: payload = helper.payload return get_setup_webhook_message("GitHub", get_sender_name(payload))