Skip to main content

PagerDuty credentials

In order to trigger an incident to the currently on-call responder(s) or display relevant PagerDuty information (active incident, on-call responders' profile, recent changes, escalation policy) about an entity, OpenContext needs the PagerDuty API Token.

SaaS customers: these secrets can be uploaded to our Client Portal by your organization's admin user.

Self hosted customers: your admin needs to add configure the token in the app as detailed in our docs.

What this provides

  • The PagerDuty credentials allows PagerDuty information about an entity to be displayed within OpenContext. This includes active incidents, recent change events, as well as the current on-call responders' names, email addresses, and links to their profiles in PagerDuty.
  • Change events will be displayed in a separate tab. If the change event payload has additional links only the first link only will be rendered.
  • Incidents can be manually triggered with a user-provided description, which will in turn notify the current on-call responders.
    This feature is only available when providing the pagerduty.com/integration-key annotation

Integrating with a PagerDuty service

There are two ways of integrating an entity with PagerDuty. The first way is through and integration key and the second is through the PagerDuty service-id. The difference between the two is that the integration key will allow the users in OpenContext to manually trigger an incident with a user-provided description, which will notify the current on-call responders and the integration via the PagerDuty service-id does not.

Get an Events integration key from PagerDuty

  • From the Configuration menu click on Services -> Service Directory
  • There are two ways to add an integration to a service:
    • If you are adding your integration to an existing service: Click the name of the service you want to add the integration to. Then, select the Integrations tab and click the Add another integration link.
    • If you are creating a new service for your integration: Please read the documentation in section Services and Integrations and follow the steps outlined in the Create a Service section, selecting the PagerDuty Events API V2 as the Integration Type in step 5. Continue with the Adding the PagerDuty annotation to an entity (below) once you have finished these steps.
  • Look for the PagerDuty Events API V2 integration and click the checkbox for it. Now click Add. You will be redirected back to the Integrations tab for the service.
  • Under the Integrations section look for Events API V2 and click on the gear icon. This will bring you to a page that will show you the Integration Key. Take note of this and keep it in a safe place since it will be used for configurting the integration with OpenContext in the next section.

Get the PagerDuty service-id from PagerDuty

The feature to manually trigger an incident is not supported using this method.
  • Depending on whether a new PagerDuty service needs to be created do one of the following:
    • For an existing service, go to the PagerDuty Configuration menu click on Services -> Service Directory.
    • For a new service, please read the documentation in section Services and Integrations and follow the steps outlined in the Create a Service section.
  • Click on the service name that you need the service-id from
  • Your URL should end in something like pagerduty.com/service-directory/TEST7XW. In this case TEST7XW is the PagerDuty service-id. Make note of this since it will be needed when Adding the PagerDuty annotation to an entity (below).

Adding the PagerDuty annotation to an entity

Using a PagerDuty integration key

apiVersion: opencontext.com/v1alpha1
kind: PlatformComponent
metadata:
name: retail-vm
description: Blue Sky / Retail virtual machine
annotations:
pagerduty.com/integration-key: 'e0efde5a1somethingorother'
spec:
type: vm
lifecycle: production
owner: [it-ops]
service: retail
datacenter: [aws, gcp]
dependsOn:
['platform-component:wholesale-lb', 'platform-component:wholesale-secrets']
dependencyOf: ['code-component:retail-app', 'code-component:retail-backend']
priority: 1
sla: 24x7

Using a PagerDuty service-id

The feature to manually trigger an incident is not supported using this method.
apiVersion: opencontext.com/v1alpha1
kind: PlatformComponent
metadata:
name: retail-dns
description: Blue Sky / Retail DNS
annotations:
pagerduty.com/service-id: 'TEST7XW'
spec:
type: dns
lifecycle: production
owner: [it-ops]
service: retail
datacenter: [gcp]
dependencyOf:
[
'code-component:retail-app',
'code-component:retail-backend',
'platform-component:wholesale-lb',
'platform-component:wholesale-secrets',
]
priority: 1
sla: 24x7

For more information

For more information on how we integrate with PagerDuty, see the following video: