Spike.sh
DashboardWebsiteHUB
Spike.sh
Spike.sh
  • Introduction
  • What is Spike.sh?
  • Incidents
    • What is an incident?
    • Incident lifecycle
    • Incident statuses
    • How to change incident status?
    • Acknowledge timeout
    • Grouping incidents
    • Priority and Severity
    • Mute alerts
    • Reassign incidents
    • Sharing incidents
    • Why does message parsing fail?
    • Rate limiting on duplicate incidents
  • Alerts
    • Phone
    • SMS
    • Mobile app alerts
    • E-mail
    • Slack
    • Microsoft Teams
    • WhatsApp
    • Telegram
    • Pushover
    • Discord
    • Alert rules
    • Title Remapper
    • Personal alerts management
      • During office hours
      • Out of office
      • Resolved incident alerts
      • Deep work & Cooldown modes
  • Services
    • Introduction to services on Spike
  • Escalations
    • Introduction to escalations
    • How to create an escalation policy?
    • Repeat escalations
    • Archive escalation policy
  • Collaboration
    • Task management integrations
      • JIRA Cloud
      • JIRA server (self-hosted)
      • ClickUp
      • Linear
      • Shortcut
    • Helpdesk integrations
      • Zendesk
      • Freshdesk
      • Supportpal
    • War rooms
  • On-call schedules
    • Introduction to On-call schedules
    • Create On-call schedule
    • Introduction to Slots in schedules
    • Introduction to Layers in on-call schedules
    • Override an on-call
    • Add on-call schedule to your calendar
    • Notifications for on-call shifts
    • Change on-call rotation day
  • Playbooks
    • Introduction to Playbooks
    • Actions in Playbooks
    • Automating your Playbooks
    • Run Playbooks manually
  • Status Pages
    • Create Status page
    • Style your status page
    • Incidents on status page
    • Create Planned Maintenance on status page
    • Edit Planned Maintenance
    • Add custom domain to status page
    • Manage your subscribers
    • Embed status page notifications on your website
    • Live status widget
  • Uptime
    • Create Uptime monitor
    • Link uptime to Status Page
  • Integrations guidelines
    • Create integration and service on our dashboard
    • Setup integrations
    • Archive an integration
    • Integrating with Webhooks
    • Integrate Spike with Email
    • Integrate Spike with AWS
    • Integrate Spike with Google Cloud
    • Integrate Spike with Sematext
    • Integrate Spike with Healthchecks
    • Integrate Spike with Pingdom
    • Integrate Spike.sh with Sentry
    • Integrate Spike with Apex ping
    • Integrate Spike with Uptime Robot
    • Integrate Spike with Twilio
    • Integrate Spike with Microsoft Azure
    • Integrate Spike with Honeybadger
    • Integrate Spike with Rollbar
    • Integrate Spike with Travis CI
    • Integrate Spike with Heroku
    • Integrate Spike with Datadog
    • Integrate Spike with Axiom
    • Integrate Spike with Needle.sh
    • Integrate Spike with Cronitor
    • Integrate Spike with Bugsnag
    • Integrate Spike with Grafana
    • Integrate Spike with Prometheus
    • Integrate Spike with Instana
    • Integrate Spike with Zapier
    • Integrate Spike with Librato
    • Integrate Spike with Checkly
    • Integrate Spike with AppSignal
    • Integrate Spike with New Relic
    • Integrate Spike with Site24x7
    • Integrate Spike with Stackify
    • Integrate Spike with Scout-apm
    • Integrate Spike with Oh-Dear
    • Integrate Spike with Nixstats
    • Integrate Spike with Server Density
    • Integrate Spike with Raygun
    • Integrate Spike with Lightstep
    • Integrate Spike with Runscope
    • Integrate Spike with Honeycomb
    • Integrate Spike with Graylog
    • Integrate Spike with Checkmk
    • Integrate Spike with Hyperping
    • Integrate Spike with Epsagon
    • Integrate Spike with Uptime
    • Integrate Spike with Splunk
    • Integrate Spike with Sumo Logic
    • Integrate Spike with Thousand Eyes
    • Integrate Spike with Loggly
    • Integrate Spike with Elastic Cloud
    • Integrate Spike with App Optics
    • Integrate Spike with NodePing
    • Integrate Spike with Scalyr
    • Integrate Spike with Moogsoft
    • Integrate Spike with AppDynamics
    • Integrate Spike with Dynatrace
    • Integrate Spike with CopperEgg
    • Integrate Spike with Coralogix
    • Integrate Spike with ElastAlert
    • Integrate Spike with LogDNA
    • Integrate Spike with Zebrium
    • Integrate Spike with LibreNMS
    • Integrate Spike with Uptime Kuma
    • Integrate Spike with Logentries
    • Integrate Spike with Logz
    • Integrate Spike with Ghost Inspector
    • Integrate Spike with Hetrix Tools
    • Integrate Spike with LogRocket
    • Integrate Spike with StatusCake
    • Integrate Spike with Sysdig
    • Integrate Spike with Wavefront
    • Integrate Spike with Buildkite
    • Integrate Spike with Semaphore
    • Integrate Spike with Better Uptime
    • Integrate Spike with Hexowatch
    • Integrate Spike with PM2
    • Integrate Spike with Cloudflare
    • Integrate Spike with Zabbix
    • Integrate Spike with Tenderly
    • Integrate Spike with Xitoring
    • Integrate Spike with Crowdstrike
    • Integrate Spike with GitHub Workflows
    • Integrate Spike with Solarwinds Orion
    • Integrate Spike with Airbrake.io
    • Updown.io
  • Administration
    • Roles and access
    • SSO
    • Enforce login
    • Our notification numbers
    • Contact the support team
    • Adding team members
    • Check if team is getting alerts
    • Removing team members
  • Additional resources
    • Create a badge
Powered by GitBook
On this page
  • Example
  • Getting started
  • Caveats
  • Examples

Was this helpful?

Edit on GitHub
  1. Alerts

Title Remapper

Title Remapper empowers you to programmatically change incident title in real-time for better context.

PreviousAlert rulesNextPersonal alerts management

Last updated 2 years ago

Was this helpful?

Title Remapper empowers you to programmatically change incident title in real-time for better context. More context in alerts means it's easier and faster for responders to understand the incident better.

Example

Let's take Sentry as an example. The incident title is clear but it will do us as incident responders better if we add the project name. Just makes it tad bit clear.

Without Title remapper

var temp is not defined

With Title remapper

var temp is not defined for Notification service

See the difference? it immediately adds more context. So much nicer to get this additional info especially on phone call and sms alerts.

This was achieved by creating a Title remapper with the code below and simply templating your message from the payload your integration sends.

You can read our on how we came about building this feature alongside the decision for HandlebarsJS.

Getting started

You can write parsing logic using HandlebarsJS syntax and formulate incident titles accordingly. Read more (it's extremely simple to get started)\

Step 1

From the Alerts menu, go to title remapper and create a new remapper.

Step 2

Provide a suitable name and description for your title remapper.

Step 3

Select an integration for which you want to parse the title.

Once you select an integration, a JSON body will be displayed in the preview section.

This payload is the metadata which we receive from the selected integration. Using this payload, you can now write a custom parser in the code editor provided on the left.

Once you have written the parser, press Try Now to check if the parser works and if the parsed incident title is meeting your requirements. Hit save to continue.

Avoid #each and #unless or basically all for.. loops

Step 4

Select all the integrations to be connected with the title remapper.

Caveats

  1. One Title remapper can be linked to multiple integrations.

  2. Ensure to link a remapper created for, say AWS, to only be linked with other AWS integrations. If not, there could be errors and your title will be missing

  3. If you link multiple Title remappers to an integration, only the last linked remapper will be taken into consideration.

Examples

All examples below are showcased with the below payload.

data: {
  "body": {
    "event_definition_id": "this-is-a-test-notification",
    "event_definition_type": "test-dummy-v1",
    "event_definition_title": "Event Definition Test Title",
    "event_definition_description": "Event Definition Test Description",
    "job_definition_id": "163",
    "job_trigger_id": "8999",
    "event": {
      "id": "NotificationTestId",
      "event_definition_type": "notification-test-v1",
      "event_definition_id": "EventDefinitionTestId",
      "origin_context": "urn:graylog:message:es:testIndex_42:b5etest--id-4-90ed-0dbeefbaz",
      "timestamp": "2021-05-05T09:42:42.823Z",
      "timestamp_processing": "2021-05-05T09:42:42.823Z",
      "timerange_start": null,
      "timerange_end": null,
      "streams": [
        "802109582109518290"
      ],
      "source_streams": [],
      "message": "Notification test message triggered from user <richard>",
      "source": "12837126856181276589235717181276589235716",
      "key_tuple": [
        "testkey"
      ],
      "key": "testkey",
      "priority": 2,
      "alert": true,
      "fields": {
        "field1": "value1",
        "field2": "value2"
      }
    },
    "backlog": []
  },
  "message": "Notification test message triggered from user <richard>"
}

For basic control

  1. Just the message

{{data.message}}

output - Notification test message triggered from user <richard>

2. Get event

{{data.body.event_definition_title}}

output - Event Definition Test Title

3. Get mode details about the event

[{{data.body.event_definition_type}}] has incident => {{data.body.event_definition_title}}output - 

output - [test-dummy-v1] has incident => Event Definition Test Title

For advanced control

{{#if data.body.event_definition_desc}}
  Title: {{data.body.event_definition_title}}
{{else if data.body.event.message}}
  Message: [{{data.body.event.key}}] - {{data.body.event.message}}
{{else}}
  {{data.message}}
{{/if}}

output - Message: [testkey] - Notification test message triggered from user <richard>

Swag helpers example

{{uppercase data.message}} with priority {{add data.body.event.priority 1}}

Output NOTIFICATION TEST MESSAGE TRIGGERED FROM USER <RICHARD> with priority 3

You can use in-built helpers provided by Handlebars JS. Alongside, we also support a number of helpful helpers on our

Visit our for more examples of Swag.\

own fork of Swag.
GitHub repo
detailed blog
here