Import and map PagerDuty resources in Service Catalog
Install the PagerDuty integration in Konnect and authorize it with both read and write scopes. Create a Service Catalog service and associate it with your PagerDuty services to display metadata and enable event tracking.
Prerequisites
Kong Konnect
If you don’t have a Konnect account, you can get started quickly with our onboarding wizard.
- The following Konnect items are required to complete this tutorial:
- Personal access token (PAT): Create a new personal access token by opening the Konnect PAT page and selecting Generate Token.
-
Set the personal access token as an environment variable:
export KONNECT_TOKEN='YOUR KONNECT TOKEN'
Konnect roles
You need the Integration Admin role in Konnect to install and authorize Service Catalog integrations.
PagerDuty access
You need a PagerDuty account with a PagerDuty service you want to pull in to Konnect.
Authenticate the PagerDuty integration
- From the Service Catalog in Konnect, select Integrations.
- Click PagerDuty, and then click Add PagerDuty Instance.
- Configure the region, grant authorization, and name the instance. PagerDuty will ask you to grant consent to Konnect. Both Read and Write scopes are required.
Once authorized, resources from your PagerDuty account will be discoverable in the UI.
Create a service in Service Catalog
Create a service that you’ll map to your PagerDuty resources:
curl -X POST "https://us.api.konghq.com/v1/catalog-services" \
-H "Authorization: Bearer $KONNECT_TOKEN" \
--json '{
"name": "billing",
"display_name": "Billing Service"
}'
Export the service ID:
export PAGERDUTY_SERVICE_ID='YOUR-SERVICE-ID'
List PagerDuty resources
Before you can map your PagerDuty resources to a service in Service Catalog, you first need to find the resources that are pulled in from PagerDuty:
curl -X GET "https://us.api.konghq.com/v1/resources?filter%5Bintegration.name%5D=pagerduty" \
-H "Authorization: Bearer $KONNECT_TOKEN"
You might need to manually sync your PagerDuty integration for resources to appear. From the Konnect UI by navigating to the PagerDuty integration you just installed and selecting Sync Now from the Actions dropdown menu.
Export the resource ID you want to map to the service:
export PAGERDUTY_RESOURCE_ID='YOUR-RESOURCE-ID'
Map resources to a service
Now, you can map the PagerDuty resource to the service:
curl -X POST "https://us.api.konghq.com/v1/resource-mappings" \
-H "Authorization: Bearer $KONNECT_TOKEN" \
--json '{
"service": "billing",
"resource": "'$PAGERDUTY_RESOURCE_ID'"
}'
Validate the mapping
To confirm that the PagerDuty resource is now mapped to the intended service, list the service’s mapped resources:
curl -X GET "https://us.api.konghq.com/v1/catalog-services/$PAGERDUTY_SERVICE_ID/resources" \
-H "Authorization: Bearer $KONNECT_TOKEN"