Outgoing Webhook

OverOps allows you to fully customize alerts using raw event and threshold data flowing into the selected HTTP endpoint.

  1. Open Settings by clicking Settings in the top right corner of the OverOps dashboard.
686

This opens the Settings dashboard for the environment you're in (you can see the environment in the upper left corner of the screen).

1051
  1. Go to General Settings > Alerts.
  2. Click the Webhook tab.
785
  1. To receive the outgoing Webhook traffic, implement an HTTP endpoint in a web-facing server.
  2. From the Webhook tab, enter the URL to receive the outgoing Webhook traffic.

📘

Only admin users (account owners and admins) are authorized to change default integration settings.

Examples of Webhooks can be found here.

Once the Webhook endpoint is configured, OverOps sends a JSON message to that endpoint whenever an alert you configured gets triggered.

The tables below, describe the different message structures:
JSON structure
All alerts have the following skeleton:

{
    api_version: "0.1",
    type: "...",
    date: ...,
    username: "...",
    service_id: "...",
    service_name: "...",
    data: {
        type: "NEW_EVENT",
        summary: "...",
        view_name: "...",
        added_by: ["..."],
        data: {
            ...
        }
    }
}
FieldTypeDescription
api_versionstringThe current API version: "0.2"
typestringMessage types are either "ALERT" or "TEST"
datenumberTimestamp in milliseconds at which the message was sent
usernamestringThe username/email of the secret key's owner
service_idstringThe username/email of the secret key's owner
service_namestringThe name of the secret key to which the alert pertains

The 'data' object represents the alert payload, and consists of the following:

FieldTypeDescription
typestringEither "NEW_EVENT" or "THRESHOLD", depending on the type of alert
summarystringA human readable description of the alert, rendered by OverOps
view_namestringThe name of the view for which the alert was triggered
added_byarrayAn array of usernames/emails of the user(s) that configured the alert
dataobjectVariant payload per event type

New event payload structure:

{
    type: "...",
    location: {
        ...
    },
    entry_point: {
        ...
    },
    stacktrace: [{
        ...
    }, {
        ...
    },
    ...],
    link: "...",
    server_name: "...",
    app_name: "..."
}
typestringOne of "EXCEPTION", "LOG" or "HTTP_ERROR"
locationframeThe location in the code in which the event happened. See structure below
entry_pointframeThe transaction in the code in which the event happened. See structure below
stracktracearrayAn array of frames constituting the stack trace of the avent. See frame structure below
linkstringA web link to a root cause analysis of the error in OverOps
server_namestringThe name of the server on which the event happened
app_namestringThe name of the application in which the event happened
deployment_namestringThe name of the deployment in which the event happened

For events of type "EXCEPTION", the following fields will also be present:

FieldTypeDescription
namestringThe name of the exception that was thrown
is_caughtbooleanWhether or not this exception was caught by user code or not
messagestringThe exception message

For events of type "LOG", the following fields will also be present:

FieldTypeDescription
levelstringOne of "FATAL", "ERROR" or "WARN"
messagestringThe error message that was written to the log

For events of type "HTTP_ERROR", the following fields will also be present:

FieldTypeDescription
error_codestringThe error code received or sent by the HTTP framework, that triggered this event
messagestringThe error message describing the error that triggered this event

Locations, entry points and stack traces are made up of frames, each with the following structure:

{
    class_name: "...",
    method_name: "...",
    method_desc: "...",
    full_name: "...",
    is_3rd_party: true/false,
    is_catch_frame: true/false,
    is_hit_frame: true/false,
    modification_timestamp: ...
}
FieldTypeDescription
class_namestringThe fully qualified class name described in the frame
method_namestringThe name of the method described in the frame
method_descstringThe method descriptor, in bytecode format, of the method described in the frame
full_namestringA human readable rendition of the class name, method name and method descriptor
is_3rd_partybooleanWhether or not this frame belongs to the user's code, or a 3rd party library/framework
is_catch_framebooleanFor exceptions, whether or not the exception was caught in this frame
is_hit_framebooleanWhether or not this is the frame in which the event happened
modification_timestampnumberTimestamp in milliseconds at which the code in this frame was last modified

Threshold alert payload structure:

{
    threshold: ...,
    times: ...,
    from_timestamp: ...,
    to_timestamp: ...,
    top_events: [{
        ...
    }, {
        ...
    }]
}
FieldTypeDescription
thresholdnumberThe number defined by the user over which an alert is triggered
timesnumberThe number of times the errors which triggered this alert actually happened
from_timestampnumberTimestamp in milliseconds at which the current alert window begun
to_timestampnumberTimestmap in milliseconds at which the current alert window ended
top_eventsarrayAn array of the top events that contributed to the threshold being reached. See structure below

Top event objects have the following structure:

{
    title: "...",
    frame: {
        ...
    },
    times: ...,
    link: "..."
}
FieldTypeDescription
titlestringA human readable description of the event, rendered by OverOps
frameframeThe location in the code in which the event occurred. See structure above
timesnumberThe number of times this specific event happened within the alert window
linkstringA web link to a root cause analysis of the event in OverOps

Open Source Example WebHooks

❗️

The Webhooks below listed are not supported and are provided as is!

OverOps WebHook Example
Rational Team Concert JAZZ CCM Webhook
VictorOps Webhook
Rally (CA-Agile Central) Webhook
Pivotal Tracker Webhook