Introduction

Why Odyssey? As an in-house automated monitoring platform, it provides the flexiblity and integration possibilities that serve the vast majority needs of the company. It offers freedom to the teams to integrate as they wish. It is also cost-free and fully maintainable by the OSS team. It also provides all the relevant tools for customer teams to manage their automated solution from a web gui integrated with AD

How does it work? Odyssey is compromised of 4 large components:

  • Web App. Which serves customer management to generate their API keys, on-call rota and set team holidays.
  • API. Which listens for POST and GET requests to return information about incident(s)/issue(s), but most importantly it takes the issue(s) posted and creates them in the database.
  • Core. Which deals with all the processing, organizing and scheduling of jobs for data in the database. It takes unsorted issues, works out where to put them and sort them whilst also ensuring the full workflow of an issue.
  • Endpoint. This application is listening for requests from our phone provider (twilio), whom make requests to in order to generate phone call conversation(s) and react to phone key presses.

Our Terminology

Our terminology throughout the application/documentation may differ to what you expect, so below are an explanation of what each one represents:

Word Explanation
Trigger/Issue Generated from logical expression from your application integration to represent your current system state of a particular thing.
Incident A set of issue(s)/trigger(s) that are represented as a collective.
Tags A list of string(s) that represent the incident in as few words as possible.

Getting Started

Set-up team/AD

To be able to log into the system, you will need to make a helpdesk request or contact someone from OSS to create your requested team on Odyssey, where they will get Windows SysAdmin to create the appropiate AD Group for your team. This will enable your team to log into Odyssey and start configuring to start integrating.

Team Email

Once you are logged in go to Configuration -> Team Email and ensure that the email attached to your team is the one you want all emails sent via Odyssey to be sent to. The default should be escalatiaons@jagex.com, unless you are not on the production environment.

Services

Services represent the application your are integrating, and has an api-key attached to it, and also the calendar.

When you create a service, you will get an api-key automatically generated. There is an eye icon to un-hide/hide the api-key. And, also a button to re-generate your api-key. This will be used to authenticate your requests to the API.

We now support Jira integration letting your service choose which project and issue type, upon ceration process of the service

Jira Configuration

Jira Fields can be configured for your service. This is done by going to your services and clicking 'Jira Fields', this will allow you to create a mapping of available Jira Fields for your selected issue type and the Odyssey options.

Calendar Events

Calendar events are important. If you have a team-jolly or people leaving early for a week, or no cover for a day, then it would be really beneficial to have Odyssey automate all escalations received. You can create yourself a calendar event to either automate escalations before working hours:

Working hours:

  • Mon-Thurs: 9AM - 6PM
  • Fridays: 9AM - 5.30PM

These are currently not changeable per team.

It is important to note, that you can also tell Odyssey to not monitor for time periods.

Contacts

Contacts are where you define all your contacts where Odyssey will get the name/number to ring.

The format of the number to be entered is +44, we currently do not support local area numbers beginning with 0.

We do however support flextel numbers. If you wish to manage your on-call rotation via flextel, then there is an option to put in your flextel pin associated with the number. To find your pin:

This will let us authenticate against flextel and retrieve the hidden phone number and name associated to the number at the time Odyssey makes a phone request.

Roles

Roles is the list of role(s) attached to your team, where you would attach a contact to. This in essence replaces what flextel does (except hiding your phone number), but it is no longer behind a premium number and easily maintanable.

The roles you would create would be reflected in the escalation guide.

For example (OSS Roles):

  • SysAdmin Primary
  • SysAdmin Secondary
  • SysAdmin Tertiary (Backup)

Escalation Policy

Escalation Policy is where you determine which role gets called out in which order. You can add as many of your roles into your policy at any given time, however the order is ascending and not descending.

Therefore, if you want SysAdmin Primary to be called first, you want to set him to 0, and then set SysAdmin Secondary to 1 or higher, and so forth.

Monitoring

Monitoring Status is where you can view the status of the Odyssey tech stack, and also the application for each team and their services sending information.

You can easily send heartbeats from your application integration, to view usage visit the api for status.

Am I Ready?

If you have followed the previous steps and set-up the relevant areas then you should be ready to head over to the API and start making REST requests to our API to get yourself some issues created.

Need Help?

To get help with integrating your application with Odyssey, please contact jake.groves@jagex.com or use the hipchat room: IT - OSS.