예제 #1
0
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"])
예제 #2
0
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)
예제 #3
0
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
예제 #4
0
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"])
예제 #5
0
파일: view.py 프로젝트: priyank-p/zulip
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
예제 #6
0
파일: view.py 프로젝트: scrapcode/zulip
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"])
예제 #7
0
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"])
예제 #8
0
def get_ping_body(helper: Helper) -> str:
    payload = helper.payload
    return get_setup_webhook_message("GitHub", get_sender_name(payload))